ViewPager的高级使用

ViewPager的滑动回调分析


/**
* 当 ViewPager的当前页面向左滑动时(手势是 向左 滑动屏幕):此时positionOffset不断变大(从0变化到*1),到达1时,突然变为0,此时刚好切换了一个新页面
* 当ViewPager的当前页面向右滑动时 (手势是 向右 滑动屏幕):此时positionOffset不断变小(从1向0变**
*化),到达0时,刚好切换到之前的旧页面
*
**/
    @Override
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

    }

    @Override
    public void onPageSelected(int position) {

    }

   // state 的值在 手不触碰 屏幕时,state的值是0,手指滑动时,state的值是1,当手指抬起时,state的值是2
    @Override
    public void onPageScrollStateChanged(int state) {

    }
  1. 让ViewPager循环起来

常见是头部导航栏,循环滑动

  1. ViewPager设置两个Pager的Margin
viewPager.setPagerMargin(10);
  1. PagerAdapter 适配器

需要重写下列方法:

   // 这四个方法必须重写,去掉父类的方法
    instantiateItem(ViewGroup, int)
    destroyItem(ViewGroup, int, Object)
    getCount()
    isViewFromObject(View, Object)
  1. PagerTransformer 用来实现翻页动画

猜你喜欢

转载自my.oschina.net/u/3246345/blog/1798949