Android应用引导界面-ViewPages使用

来源:互联网 发布:ff14l雷霆捏脸数据 编辑:程序博客网 时间:2024/06/06 12:42
ViewPager的功能就是可以使视图滑动。可以用来做导航、页面菜单。使用时需要适配器PagerAdapter。
因此需要继承PagerAdapter,实现引导界面至少需要复写4个方法:
instantiateItem(ViewGroup, int):用来创建在指定位置上的一个页面;
destroyItem(ViewGroup, int, Object):销毁指定位置上的一个页面;
getCount():页面数量;
isViewFromObject(View, Object):用来判断pager的一个view是否和instantiateItem方法返回的object有关联。
  1. // 初始化引导图片列表
  2. view1 = inflater.inflate(R.layout.page_one, null);
  3. view2 = inflater.inflate(R.layout.page_two, null);
  4. view3 = inflater.inflate(R.layout.page_three, null);
  5. viewList = new ArrayList<View>();// 将要分页显示的View装入数组中
  6. viewList.add(view1);
  7. viewList.add(view2);
  8. viewList.add(view3);
  9. viewPager = (ViewPager) findViewById(R.id.viewpager);
  10. // 初始化Adapter,重写PagerAdapter
  11. PagerAdapter pagerAdapter = new PagerAdapter() {
  12. @Override
  13. public boolean isViewFromObject(View view, Object object) {
  14. return view == object;//该object其实就是viewPager添加的view
  15. }
  16. @Override
  17. public int getCount() {
  18. return viewList.size();
  19. }
  20. @Override
  21. public void destroyItem(ViewGroup container, int position, Object object) {
  22. container.removeView(viewList.get(position));
  23. }
  24. @Override
  25. public int getItemPosition(Object object) {
  26. return super.getItemPosition(object);
  27. }
  28. @Override
  29. public CharSequence getPageTitle(int position) {
  30. return super.getPageTitle(position);
  31. }
  32. @Override
  33. public Object instantiateItem(View container, int position) {
  34. ((ViewPager)container).addView(viewList.get(position));
  35. return viewList.get(position);
  36. }
  37. };
  38. viewPager.setAdapter(pagerAdapter);
  39. // 绑定回调


参考:http://blog.csdn.net/wangjinyu501/article/details/8169924


来自为知笔记(Wiz)


0 0