Android基础:翻页控件Viewpager的使用方法,viewpager+fragment混合使用

viewpager的 使用分以下4步:

1, 在xml文件中添加

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

2,初始化控件并设置viewpager适配器:
    mViewPager = (ViewPager) findViewById(R.id.viewPager);
        mViewPager.setAdapter(new MyViewPagerAdapter(getSupportFragmentManager(), mFragmentList));

3,设置启动时首页:
 mViewPager.setCurrentItem(0);

4,设置viewpager的滑动监听事件:


     mViewPager.addOnPageChangeListener(MyPageChangeListener);

我做的是viewpager加fragment,viewpager适配器的代码如下:


MyViewPagerAdapter.class

public class MyViewPagerAdapter extends FragmentPagerAdapter {

    private List<Fragment> mFragmentList = new ArrayList<>();

    public MyViewPagerAdapter(FragmentManager fm,List<Fragment> mFragmentList) {
        super(fm);
        this.mFragmentList = mFragmentList;
    }


    @Override
    public Fragment getItem(int position) {
        return mFragmentList.get(position);
    }

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

viewpager滑动监听 的事件代码如下:
 private ViewPager.OnPageChangeListener MyPageChangeListener = new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

        }

        @Override
        public void onPageSelected(int position) {
            mViewPager.setCurrentItem(position);
            //当前页的标签颜色改变
            for (int i = 0;i < mViewList.size();i++){
                if (i==position){
                    mViewList.get(i).setSelected(true);
                }else {
                    mViewList.get(i).setSelected(false);
                }
            }
        }

        @Override
        public void onPageScrollStateChanged(int state) {

        }
    };



改变字体颜色用到了selector,文件如下:

yellow_text_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_selected="true" android:color="#ffff2d21"/>
    <item android:color="#020202"/>
</selector>

MainActivity部分代码如下:

    ......
        mOne = (TextView) findViewById(R.id.one);
        mTwo = (TextView) findViewById(R.id.two);
        mViewList.add(mOne);
        mViewList.add(mTwo);
        mViewList.get(0).setSelected(true);
        mFragmentList.add(firstFragment);
        mFragmentList.add(secondFragment);
        mViewPager = (ViewPager) findViewById(R.id.viewPager);
        mViewPager.setAdapter(new MyViewPagerAdapter(getSupportFragmentManager(), mFragmentList));
        mViewPager.setCurrentItem(0);
        mViewPager.addOnPageChangeListener(MyPageChangeListener);

至于fragment代码,在博主的上一篇博客里已经贴出来了,有需要的可以看下。。。

很简单的一个demo,在此基础上掌握了viewpager的基本用法,可以很灵活的去设置各种特效,demo运行效果如下:

Android基础:翻页控件Viewpager的使用方法,viewpager+fragment混合使用_第1张图片


右滑时fragment改变,标签颜色改变



Android基础:翻页控件Viewpager的使用方法,viewpager+fragment混合使用_第2张图片





你可能感兴趣的:(用法,viewpager基础)