ViewPager介绍和使用说明

jopen 12年前

1   ViewPager实现的功能 和实际运行的效果图示意

ViewPager类提供了多界面切换的新效果。新效果有如下特征:

[1] 当前显示一组界面中的其中一个界面。

[2] 当用户通过左右滑动界面时,当前的屏幕显示当前界面和下一个界面的一部分。

[3]滑动结束后,界面自动跳转到当前选择的界面中

 

下面是实现的效果图

ViewPager介绍和使用说明                                        ViewPager介绍和使用说明

 

2  如何使用ViewPager控件

 

2.1 引用ViewPager控件

   ViewPager来源于google 的补充组件android-support-v13.jar,位置在androidSDK文件夹

android-sdk-windows\extras\android\compatibility\v13 下

 

   将android-support-v13.jar 引用到项目中

 

2.2 配置页面文件

     <android.support.v4.view.ViewPager             android:id="@+id/viewPager1"                android:layout_width="fill_parent"                android:layout_height="fill_parent"                android:layout_alignLeft="@+id/textView1"                android:layout_above="@id/adLayout"                android:layout_below="@id/topText"                android:layout_centerVertical="true"  />

 

2.3 设置ViewPager控件的适配器

   ViewPager的适配器继承于PagerAdapter基类,并实现以下四个方法

//获取当前窗体界面数    public int getCount()            //初始化position位置的界面      public Object instantiateItem(View collection, int position)         //销毁position位置的界面    public void destroyItem(View collection, int position, Object view)         // 判断是否由对象生成界面    public boolean isViewFromObject(View arg0, Object arg1)     

3  初始化ViewPager控件

 初始化ViewPager控件的适配器

 

 viewPager1 = (ViewPager) findViewById(R.id.viewPager1);                                  viewPager1.setAdapter(new ImgPagerAdapter(this,lists));         配置适配器的页面变化事件    viewPager1           .setOnPageChangeListener(new OnPageChangeListener() {                              //页面选择    @Override               public void onPageSelected(int position) {                  topText.setText(String.valueOf(position+1)+"/"+String.valueOf(lists.length));               }                    @Override               public void onPageScrollStateChanged(int state) {               }                    @Override               public void onPageScrolled(int position,                      float positionOffset, int positionOffsetPixels) {               }           });