以前经常用viewpager+计时器来实现轮播图的效果,感觉特别麻烦,前几天把项目中的轮播图换成了AdapterViewFlipper该控件,因为该控件其实是实现自动播放的图片库的,所以我用的时候参考这文档来写的,特地来总结一下,因为写在本上确实没有电子的方便。
AdapterViewFlipper控件的介绍
该空间继承了AdapterViewAnimator,它也会显示Adapter提供的多个View组件,但是每次只能显示一个View组件,程序可以通过showPrevious()和showNext()方法来控制该组件显示上一个,下一个组件。可以再切换的过程中显示渐隐渐显的动画效果,还可以
调用控件的startFlipping()方法控制它自动播放下一个view组件。
AdapterViewFlipper的xml属性
animateFirstView 设置显示该组件的第一个view是否使用动画
inAnimation 组件显示时是否使用动画
loopViews 循环到最后一个view时是否自动转头到第一个view
outAnimation 设置组件隐藏时使用的动画
autoStart 相关方法 startFlipping() 设置显示该组件时是否自动播放
flipInterval 相关方法setFlipInterval(int) 设置自动播放的时间间隔
AdapterViewFlipper的使用
1.在xml的布局
<com.gth.findlove.view.NotifiableViewFlipper android:id="@+id/business_detail_vp" android:flipInterval="2000" //自动播放的时间间隔 android:autoStart="true" android:loopViews="true" android:layout_width="match_parent" android:layout_height="200dp"> </com.gth.findlove.view.NotifiableViewFlipper>重写了AdapterViewFlipper:
package com.gth.findlove.view; import android.content.Context; import android.util.AttributeSet; import android.widget.AdapterViewFlipper; /** * Created by admin on 2017/4/21. */ public class NotifiableViewFlipper extends AdapterViewFlipper { private OnFlipListener onFlipListener;