ViewPager使用及如何导源码,解决参数的困扰

布局类全路径:android.support.v4.view.ViewPager

小技巧:导viewpager的源码

1、在libs下面写个配置文件:名字必须一致



2、内容:

src=D:/android_java_devlope/adt-bundle/AndroidSDK/extras/android/support/v4(sdk中v4包路径)


3、重启eclipse

 

ViewPager是android扩展包v4包中的类,这个类可以让用户左右切换当前的view。

 1ViewPager类直接继承了ViewGroup它是一个容器类可以在其中添加其他的view类。

  2ViewPager类需要一个PagerAdapter适配器类给它提供数据。

  3ViewPager经常和Fragment一起使用并且提供了专门的FragmentPagerAdapterFragmentStatePagerAdapter类供Fragment中的ViewPager使用

监听:

addOnPageChangeListener(new OnPageChangeListener(){

 

                          @Override

                          publicvoid onPageSelected(int position) {

                                   //页面被选中

                          }

 

                          @Override

                          public voidonPageScrolled(int position, float positionOffset, intpositionOffsetPixels) {

                          //页面滑动

                          // position当前页面的位置

                          // positionOffset页面滑动时的偏移百分比

                          // positionOffsetPixels页面滑动过程中像素位置,注意范围,建议输出自己看

                          }

 

                          @Override

                          publicvoid onPageScrollStateChanged(int state) {

                          //

                          }

                  });

适配器:

class myPager extends PagerAdapter {

//如果不是内部类,需要写构造方法将集合(承载数据)和context(实例化布局)//通过构造方法传进来

                  @Override

                  public int getCount(){

                          return list.size();//承载页面对象的集合大小

                  }

 

                  @Override

                  public boolean isViewFromObject(Viewview, Object object) {

                          return view == object;//判断是否由对象生成界面

                  }

 

                  @Override

                  public Object instantiateItem(ViewGroupcontainer, int position) {

                          //初始化一个view对象

                          container.addView(view);//添加到ViewPager中,否则不成功,必须有这步。

                          return view;

                  }

 

                  @Override

                  public void destroyItem(ViewGroupcontainer, int position, Object object) {

                          container.removeView((View)object);//移除上一个页面视图,一般都这么写

                  }

         }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值