1.ViewPager 实现效果图

2.ViewPager 实现功能

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

<1>当前显示一组界面中的其中一个界面;

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

<3>滑动结束后,界面自动跳转到当前选择的界面中。

3.ViewPager详细说明

android-support-v4.jar 是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以使用的api。而viewpager就是其中之一利用它,我们可以做很多事情,从最简单的导航,到页面菜单等等。那如何使用它呢,与ListView类似,我们也需要一个适配器,他就是PagerAdapter。

ViewPager对应官方文档地址为:http://developer.android.com/reference/android/support/v4/view/ViewPager.html

4、ViewPager的使用

分三个步骤来使用它:

1、在布局文件里加入该组件

<android.support.v4.view.ViewPager   
 android:id="@+id/viewpager"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" >

注意:这个组件是用来显示左右滑动的界面的,如果不加载xml布局文件,他是不会显示内容的

2、加载要显示的页卡

LayoutInflater lf = getLayoutInflater().from(this);
view1 = lf.inflate(R.layout.layout1, null);
view2 = lf.inflate(R.layout.layout2, null);
view3 = lf.inflate(R.layout.layout3, null); viewList = new ArrayList<View>();// 将要分页显示的View装入数组中
viewList.add(view1);
viewList.add(view2);
viewList.add(view3);

3、在Activity里实例化ViewPager组件,并设置它的Adapter(就是PagerAdapter,方法与ListView一样的),在这里一般需要重写PagerAdapter。

public class MyViewPagerAdapter extends PagerAdapter {
private List<View> mListViews; public MyViewPagerAdapter(List<View> mListViews) {
this.mListViews = mListViews;//构造方法,参数是我们的页卡,这样比较方便。
} @Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(mListViews.get(position));//删除页卡
} @Override
public Object instantiateItem(ViewGroup container, int position) {//这个方法用来实例化页卡
container.addView(mListViews.get(position), 0);//添加页卡
return mListViews.get(position);
} @Override
public int getCount() {
return mListViews.size();//返回页卡的数量
} @Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0==arg1;
} }

ViewPager的适配器是PagerAdapter,它是基类提供适配器来填充页面ViewPager内部,你很可能想要使用一个更具体的实现,如FragmentPagerAdapter或FragmentStatePagerAdapter。在这里需要说明一下,其实ViewPager应该和Fragment一起使用,至少谷歌官方是这么想的,但是在3.0之下,我们没有必要这么做。下面要注意,当你实现一个PagerAdapter,你必须至少覆盖以下方法:

instantiateItem(ViewGroup, int)
destroyItem(ViewGroup, int, Object)
getCount()
isViewFromObject(View, Object)

PagerAdapter对应的官方文档地址为:http://developer.android.com/reference/android/support/v4/view/PagerAdapter.html

源代码地址:https://github.com/YeXiaoChao/Yc_ui_viewpager

来源:http://blog.csdn.net/yangyu20121224/article/details/8980917

最新文章

  1. Mac入门(三)使用brew安装软件
  2. PHP中json_encode后中文乱码的解决方案
  3. 第五篇T语言实例开发,数组空间使用
  4. Zookeeper 初体验之——伪分布式安装(转)
  5. User Settings in WPF
  6. Java for LeetCode 062 Unique Paths
  7. 一模 (5) day1
  8. Android ImageView 详述
  9. Access中出现改变字段“自己主动编号”类型,不能再改回来!(已解决)
  10. DataReader反射泛型对象
  11. 【LeetCode题意分析&amp;解答】38. Count and Say
  12. linux下安装NPM管理工具
  13. Asp.Net Core MVC项目实现多语言(Globalization/Localization)
  14. RxJava(五) onErrorResumeNext操作符实现app与服务器间token机制
  15. Nginx与Lua
  16. C++系列总结——new和delete
  17. RocketMQ入门(Filter)_5
  18. Fillder Script语法
  19. spring boot整合quartz实现多个定时任务
  20. 网络编程_UDP协议_聊天程序

热门文章

  1. SpringMvc+Mybatis 框架搭建
  2. mongodb学习1---基本命令
  3. www.97top10.com--做最好的技术交流网站
  4. mariadb connector bug
  5. SharpGL学习笔记(十四) 材质:十二个材质球
  6. springmvc+mybatis+spring 整合 bootstrap
  7. rails provide与content_for的区别
  8. Python: 解决pip安装源被墙的问题
  9. Linux0.11内核剖析--初始化程序(init)
  10. jar包双击执行程序