国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

Android實(shí)現(xiàn)廣告圖片輪播效果

2020-04-11 10:46:20
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例介紹了Android廣告輪播圖效果實(shí)現(xiàn)方法,分享給大家供大家參考,具體內(nèi)容如下

首先看下一下布局文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:tools="http://schemas.android.com/tools"  android:layout_width="match_parent"  android:layout_height="match_parent"  tools:context=".MainActivity" >  <!-- 廣告條的使用 -->  <com.xuliugen.viewpager.MyViewPagerTransformerAnim    android:id="@+id/viewpager"    android:layout_width="match_parent"    android:layout_height="200dp" />  <!-- 廣告條下邊的文字 -->  <LinearLayout    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:layout_alignBottom="@id/viewpager"    android:background="#33000000"    android:orientation="vertical" >    <TextView      android:id="@+id/image_desc"      android:layout_width="match_parent"      android:layout_height="wrap_content"      android:gravity="center"      android:text="@string/app_name"      android:textColor="@android:color/white"      android:textSize="16sp" />    <LinearLayout      android:id="@+id/point_group"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_gravity="center_horizontal"      android:layout_marginBottom="5dp"      android:orientation="horizontal" >    </LinearLayout>  </LinearLayout></RelativeLayout>

 

效果很簡(jiǎn)單,從布局文件中我們看到使用了一個(gè)自定義的ViewPager動(dòng)畫,代碼如下:

package com.xuliugen.viewpager;import java.util.HashMap;import java.util.Map;import android.content.Context;import android.support.v4.view.ViewPager;import android.util.AttributeSet;import android.view.View;import com.nineoldandroids.view.ViewHelper;/* * 自定義viewpager實(shí)現(xiàn)動(dòng)畫切換效果: *  * 1、需要拿到當(dāng)前切換的兩個(gè)view *  * 2、一個(gè)動(dòng)畫的梯度值 */public class MyViewPagerTransformerAnim extends ViewPager {  private View mLeft;  private View mRight;  private float mTrans;  private float mScale;  private static final float MIN_SCALE = 0.6f;  private Map<Integer, View> mChildren = new HashMap<Integer, View>();  /*   * 要有兩個(gè)構(gòu)造方法   */  public MyViewPagerTransformerAnim(Context context, AttributeSet attrs) {    super(context, attrs);  }  public MyViewPagerTransformerAnim(Context context) {    super(context);  }  /*   * 設(shè)置put的方法   */  public void setViewForPosition(View view, int position) {    mChildren.put(position, view);  }  /*   * remove的方法   */  public void removeViewFromPosition(Integer position) {    mChildren.remove(position);  }  /**   * 重寫的方法   */  @Override  protected void onPageScrolled(int position, float offset, int offsetPixels) {    // Log.e("TAG", "position =" + position + ",offset = " + offset);    mLeft = mChildren.get(position);    mRight = mChildren.get(position + 1);    animStack(mLeft, mRight, offset, offsetPixels);// 創(chuàng)建動(dòng)畫效果    super.onPageScrolled(position, offset, offsetPixels);  }  private void animStack(View left, View right, float offset, int offsetPixels) {    if (right != null) {      // 從0-1頁(yè),offset:0`1      mScale = (1 - MIN_SCALE) * offset + MIN_SCALE;      mTrans = -getWidth() - getPageMargin() + offsetPixels;      ViewHelper.setScaleX(right, mScale);      ViewHelper.setScaleY(right, mScale);      ViewHelper.setTranslationX(right, mTrans);    }    if (left != null) {      left.bringToFront();    }  }}

MainActivity.java

package com.xuliugen.viewpager;import java.util.ArrayList;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.OnPageChangeListener;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;public class MainActivity extends Activity {  private ViewPager viewPager;  private LinearLayout pointGroup;  private TextView iamgeDesc;  // 圖片資源ID  private final int[] imageIds = { R.drawable.a, R.drawable.b, R.drawable.c,      R.drawable.d, R.drawable.e };  // 圖片標(biāo)題集合  private final String[] imageDescriptions = { "鞏俐不低俗,我就不能低俗",      "撲樹(shù)又回來(lái)啦!再唱經(jīng)典老歌引萬(wàn)人大合唱", "揭秘北京電影如何升級(jí)", "樂(lè)視網(wǎng)TV版大派送", "熱血

主站蜘蛛池模板:
佳木斯市|
潞西市|
永胜县|
保定市|
青州市|
徐水县|
兴安县|
云梦县|
花莲市|
栾城县|
安岳县|
兴城市|
周宁县|
康定县|
翁源县|
社旗县|
昌图县|
图片|
大余县|
盱眙县|
香河县|
华坪县|
霍林郭勒市|
砚山县|
台湾省|
蕲春县|
新乡市|
衡阳市|
龙川县|
文山县|
冷水江市|
博乐市|
宁蒗|
崇州市|
页游|
鹰潭市|
沐川县|
巧家县|
贵港市|
揭阳市|
长葛市|