本文實例講述了JaAndroid實現圖片輪播效果代碼,分享給大家供大家參考。具體如下:
運行效果截圖如下:
具體代碼如下:
首先看下一下布局文件:
<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>
效果很簡單,從布局文件中我們看到使用了一個自定義的ViewPager動畫,代碼如下:
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實現動畫切換效果: * * 1、需要拿到當前切換的兩個view * * 2、一個動畫的梯度值 */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>(); /* * 要有兩個構造方法 */ public MyViewPagerTransformerAnim(Context context, AttributeSet attrs) { super(context, attrs); } public MyViewPagerTransformerAnim(Context context) { super(context); } /* * 設置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);// 創建動畫效果 super.onPageScrolled(position, offset, offsetPixels); } private void animStack(View left, View right, float offset, int offsetPixels) { if (right != null) { // 從0-1頁,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 }; // 圖片標題集合 private final String[] imageDescriptions = { "鞏俐不低俗,我就不能低俗", "撲樹又回來啦!再唱經典老歌引萬人大合唱", "揭秘北京電影如何升級", "樂視網TV版大派送", "熱血亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb 国产精品九九九| 精品高清一区二区三区| 久久久亚洲欧洲日产国码aⅴ| 在线观看欧美日韩国产| 国产亚洲aⅴaaaaaa毛片| 久久久久久欧美| 九九热这里只有精品免费看| 日韩成人在线视频网站| 91网站免费观看| 成人妇女免费播放久久久| 日本不卡免费高清视频| 亚洲www永久成人夜色| 日韩中文字幕免费| 91av在线国产| 亚洲国产日韩欧美在线动漫| 亚洲天堂av高清| 亚洲欧美日韩成人| 国产精品亚洲片夜色在线| 欧美成人激情图片网| 国产精品高精视频免费| 亚洲男人天堂2019| 在线亚洲欧美视频| 亚洲欧美日韩中文视频| 国产精品夜色7777狼人| 日韩在线视频导航| 中文字幕亚洲情99在线| 色偷偷偷亚洲综合网另类| 国产精品免费观看在线| 一本久久综合亚洲鲁鲁| 国产精品丝袜视频| 91久久嫩草影院一区二区| 亚洲精品福利免费在线观看| 久久6免费高清热精品| 日韩大陆欧美高清视频区| 国产一区二区三区久久精品| 国产亚洲美女精品久久久| 日韩精品有码在线观看| 一区二区三区视频免费| 91av在线精品| 国产精品视频地址| 97国产精品人人爽人人做| 怡红院精品视频| 国产欧美日韩专区发布| 亚洲第一区中文字幕| 国产女人精品视频| 亚洲精品有码在线| 国产日韩欧美在线| 国产成人精品久久二区二区91| 亚洲丁香久久久| 精品人伦一区二区三区蜜桃免费| 日本精品久久久久影院| 精品久久中文字幕久久av| 国产精品久久久久av| 欧美激情中文字幕在线| 国产欧美日韩精品在线观看| 69视频在线免费观看| 91久久久久久久久久| 国产精品久久久久久av下载红粉| 91亚洲va在线va天堂va国| 成人动漫网站在线观看| 精品国产精品三级精品av网址| 欧美精品在线网站| 欧美成人午夜影院| 亚洲第一网中文字幕| 色婷婷综合成人av| 欧美日产国产成人免费图片| 久久久国产精品亚洲一区| 在线视频日本亚洲性| 色99之美女主播在线视频| 在线视频日本亚洲性| 久久久久国产精品免费网站| 久久亚洲精品一区二区| 欧美大片欧美激情性色a∨久久| 97视频com| 日韩精品有码在线观看| 国产精品扒开腿做爽爽爽的视频| 国产精品一区二区女厕厕| 国产日韩欧美自拍| 亚洲风情亚aⅴ在线发布| 国产日韩一区在线| 欧美xxxx14xxxxx性爽| 一道本无吗dⅴd在线播放一区| 日韩高清人体午夜| 狠狠久久五月精品中文字幕| 国产精品69精品一区二区三区| 亚洲欧美激情精品一区二区| 欧美丝袜第一区| 日韩成人av一区| 91九色蝌蚪国产| 国产欧美韩国高清| 国产精品视频999| 91在线播放国产| 久久国产精品久久久| 中文字幕日韩欧美在线| 欧美性猛交xxxx免费看久久久| 国产精品无码专区在线观看| 欧洲日韩成人av| 97视频com| 国产在线观看91精品一区| 亚洲视频第一页| 久久久久久久久久久av| 91香蕉嫩草神马影院在线观看| 最近2019中文字幕mv免费看| 亚洲人av在线影院| 精品性高朝久久久久久久| 日韩欧美国产骚| 91免费国产网站| 亚洲天堂影视av| 国产精品白丝av嫩草影院| 欧美成人午夜剧场免费观看| 亚洲精品免费一区二区三区| 两个人的视频www国产精品| 亚洲天堂成人在线| 国产精品扒开腿做爽爽爽视频| 日韩二区三区在线| 97国产精品视频人人做人人爱| 91精品国产综合久久香蕉最新版| 欧美最猛性xxxxx免费| 欧美激情精品久久久久久蜜臀| 伊人一区二区三区久久精品| 久久久久免费视频| 国产日产亚洲精品| 97精品免费视频| 色偷偷噜噜噜亚洲男人| 国产欧美日韩专区发布| 精品偷拍一区二区三区在线看| 人人澡人人澡人人看欧美| 亚洲成人久久久| 亚洲第一视频网站| 午夜精品99久久免费| 精品亚洲永久免费精品| 中文字幕日韩精品在线| 国产欧美日韩高清| 一本色道久久综合狠狠躁篇的优点| 亚洲最大成人网色| 久久高清视频免费| 91亚洲va在线va天堂va国| 亚洲精品理论电影| 久久久精品国产一区二区| 久久中文久久字幕| 欧美激情18p| 久久视频免费在线播放| 国产精品一香蕉国产线看观看| 91最新在线免费观看| 亚洲精选中文字幕| 成人av.网址在线网站| 亚洲a在线播放| 国产成人亚洲精品| 亚洲国产精品人久久电影| 色悠悠国产精品| 91中文字幕一区| 成人乱人伦精品视频在线观看| 亚洲国产精品成人一区二区| 伊人久久久久久久久久| 97久久精品在线| 久久久久久中文字幕| 理论片在线不卡免费观看| 国产精品久久久久久搜索| 日韩av电影在线播放| 伊人久久大香线蕉av一区二区| 在线观看日韩视频| 欧美国产日产韩国视频| 亚洲最新中文字幕| 国产免费一区视频观看免费|