Android应用引导界面-ViewPages使用

技术分享
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. // 绑定回调






郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。