推荐:Android UI性能极限库-真正的响应零延迟(快到飞)
循环滚动应用场景还是较多的,这里是支付宝一个例子
两个ImageVIew并提供了自动轮播以及手动无限翻页的功能。
先总结一下VIewPager的基础。
ViewPager是什么
继承了ViewGroup所以本身用于存放View,而自动翻页的特效无非就是自身Canvas的移动,通过Scroll来实现。
PagerAdapter是什么
PagerAdapter称ViewPager的适配器,为什么叫适配器呢,一种设计模式其实就是提供了相关的View给ViewPager,在ViewPager展示很多内容情况下如果将所有的View都添加到ViewPager上,则给内存带来了不必要的开销,所以ViewPager有个缓存机制,每次从PagerAdapter拿取设定数量的View,随着用户滑动而不断地销毁本身已展示过的View并从PagerAdapter拿取新的View。而PagerAdapter本身为抽象类,所以详见它的具体实现类。
PagerAdapter的具体实现类
**myPagerAdapter extends PagerAdapter **
我们自定义一个类直接继承它并实现抽象方法
public class myPagerAdapter extends PagerAdapter {
@Override
public int getCount() {
return 0; //告诉ViewPager有多少View需要展示
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object; //确定一个页面视图是否关联到一个特定的对象,一般返回这个判断
}
@O