zoukankan      html  css  js  c++  java
  • Android 页面滑动

    1、PagerAdapter适配器
        
      PagerAdapter主要是viewpager的适配器,而viewPager是android.support.v4扩展中新添加的一个强大控件,可以实现控件的滑动效果,
    继承pageradapter,至少必须要重写以下四个方法:
    • instantiateItem(ViewGroup, int)
    • destroyItem(ViewGroup, int, Object)
    • getCount()
    • isViewFromObject(View, Object)
    具体含义以及使用如下:
    private class ViewPagerAdapter extends PagerAdapter {  
      
            // 获取要滑动的控件的数量,在这里我们以滑动的广告栏为例,那么这里就应该是展示的广告图片的ImageView数量  
            @Override  
            public int getCount() {  
                return images.size();  
            }  
      
            // 来判断显示的是否是同一张图片,这里我们将两个参数相比较返回即可  
            @Override  
            public boolean isViewFromObject(View arg0, Object arg1) {  
                return arg0 == arg1;  
            }  
      
            // PagerAdapter只缓存三张要显示的图片,如果滑动的图片超出了缓存的范围,就会调用这个方法,将图片销毁  
            @Override  
            public void destroyItem(ViewGroup view, int position, Object object) {  
                view.removeView(images.get(position));  
            }  
      
            // 当要显示的图片可以进行缓存的时候,会调用这个方法进行显示图片的初始化,我们将要显示的ImageView加入到ViewGroup中,然后作为返回值返回即可  
            @Override  
            public Object instantiateItem(ViewGroup view, int position) {  
                view.addView(images.get(position));  
                return images.get(position);  
            }  
        } 
    2、OnPageChangeListener接口
       
      OnPageChangeListener是ViewPager在处理滑动事件的时候需要用到的,这个接口需要实现三个方法:
    • onPageScrollStateChanged(int state)
            此方法是在状态改变时调用的,有三种状态(0,1,2)。当arg0=1时表示正在滑动,arg0=2时表示滑动完毕,arg0=3表示什么都没做。
    当页面开始滑动时,三种状态的变化顺序是(1,2,0)
     
    • onPageScrolled(int position,float positionOffset,int positionOffsetPixels)
            当页面滑动的时候会调用此方法,直到滑动完毕。这三个参数的含义分别为:
    1. position:当前页面,及滑动的页面
    2. positionOffset:当前页面滑动的比例,如果页面向右翻动,则值不断变大,最后在趋近1的时候变为0.如果向左翻动,则不断变小,最后变为0
    3. positionOffsetPixels:当前页面滑动像素,变化情况和positionOffset一致
     
    • onPageSelected(int position)
            此方法是页面跳转完后调用,position代表你当前选中页面的位置编号

     程序猿必读

  • 相关阅读:
    java常见面试题汇总(一)
    我的自学之路:java学习路线图分享
    bzoj3714 [PA2014]Kuglarz
    cf478D Red-Green Towers
    cf478C Table Decorations
    cf478B Random Teams
    cf479A Expression
    cf479C Exams
    cf479D Long Jumps
    cf479E Riding in a Lift
  • 原文地址:https://www.cnblogs.com/longzhongren/p/6075037.html
Copyright © 2011-2022 走看看