ViewPager 是怎么用的

  1. 从布局文件中初始化ViewPager对象:
mViewPager = findViewById(R.id.crime_view_pager);
  1. 为ViewPager对象设置adapter
    ViewPager 通过 adapter处理视图之间复杂的逻辑。在这里ViewPager的视图是一个个Fragment,所以用如下方式把Fragment添加到ViewPager中:
        FragmentManager fragmentManager = getSupportFragmentManager();
        mViewPager.setAdapter(new FragmentStatePagerAdapter(fragmentManager) {
            @Override
            public Fragment getItem(int i) {
                Crime crime = mCrimes.get(i);
                setButtonVisibility(mViewPager.getCurrentItem());
                return CrimeFragment.newInstance(crime.getId());
            }

            @Override
            public int getCount() {
                return mCrimes.size();
            }
        });

设置adapter的时候我们通过匿名类实现 FragmentStatePagerAdapter。需要Override两个方法:getItem(int position)getCount().
adapter通过调用 getItem 为对应的位置上添加Fragment 视图。

当然,ViewPager 还可以相应其它的事件,可以为ViewPager 添加特定事件的Listener,例如:

        mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int i, float v, int i1) {

            }

            @Override
            public void onPageSelected(int i) {
                setButtonVisibility(i);
            }

            @Override
            public void onPageScrollStateChanged(int i) {

            }
        });

上面代码就为ViewPager添加了一个 OnPageChangeListner,Override对应的方法可以相应相应的事件,例如滚动页面,选中页面,或滚动状态发生变化等等。

你可能感兴趣的:(ViewPager 是怎么用的)