ViewPager介绍和使用说明

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

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

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

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

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

 

下面是实现的效果图

                 
\                                        \                      

 

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) {

           }

       });

posted @ 2014-10-21 15:40  新感觉  阅读(265)  评论(0编辑  收藏  举报