ViewPager的详解(使用viewPager实现导航页面)

Viewpager简介

ViewPager是Google的support.v4包中的支持控件,可以实现View之间的切换。

ViewPager的使用在目前的应用环境中非常频繁,甚至对其进行相关的自定义来实现一些特别的效果。
ViewPager使用详解系列只是对于Google官方提供的支持库中的相关工具来实现效果,不涉及到自定义的东西。

ViewPager最简单的使用方法,就是与PagerAdapter的配合使用,所以我们必须了解PagerAdapter中的方法及其对应的功能。

public class ViewPagerAdapter extends PagerAdapter {
     /**
      * 获取View的总数
      *
      * @return View总数
      */
      @Override
      public int getCount() {
          return 0;
      }

      /**
       * 当ViewPager的内容有所变化时,进行调用。
       *
       * @param container ViewPager本身
       */
      @Override
      public void startUpdate(ViewGroup container) {
          super.startUpdate(container);
      }

      /**
       * 为给定的位置创建相应的View。创建View之后,需要在该方法中自行添加到container中。
       *
       * @param container ViewPager本身
       * @param position  给定的位置
       * @return 提交给ViewPager进行保存的实例对象
       */
      @Override
      public Object instantiateItem(ViewGroup container, int position) {
          return super.instantiateItem(container, position);
      }

      /**
       * 为给定的位置移除相应的View。
       *
       * @param container ViewPager本身
       * @param position  给定的位置
       * @param object    在instantiateItem中提交给ViewPager进行保存的实例对象
       */
      @Override
      public void destroyItem(ViewGroup container, int position, Object object) {
          super.destroyItem(container, position, object);
      }

      /**
       * ViewPager调用该方法来通知PageAdapter当前ViewPager显示的主要项,提供给用户对主要项进行操作的方法。
       *
       * @param container ViewPager本身
       * @param position  给定的位置
       * @param object    在instantiateItem中提交给ViewPager进行保存的实例对象
       */
      @Override
      public void setPrimaryItem(ViewGroup container, int position, Object object) {
          super.setPrimaryItem(container, position, object);
      }

      /**
       * 当ViewPager的内容变化结束时,进行调用。当该方法被调用时,必须确定所有的操作已经结束。
       *
       * @param container ViewPager本身
       */
      @Override
      public void finishUpdate(ViewGroup container) {
          super.finishUpdate(container);
      }

      /**
       * 确认View与实例对象是否相互对应。ViewPager内部用于获取View对应的ItemInfo。
       *
       * @param view   ViewPager显示的View内容
       * @param object 在instantiateItem中提交给ViewPager进行保存的实例对象
       * @return 是否相互对应
       */
      @Override
      public boolean isViewFromObject(View view, Object object) {
          return false;
      }

      /**
       * 保存与PagerAdapter关联的任何实例状态。
       *
       * @return PagerAdapter保存状态
       */
      @Override
      public Parcelable saveState() {
          return super.saveState();
      }

      /**
       * 恢复与PagerAdapter关联的任何实例状态。
       *
       * @param state  PagerAdapter保存状态
       * @param loader 用于实例化还原对象的类加载器
       */
      @Override
      public void restoreState(Parcelable state, ClassLoader loader) {
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值