PagerSlidingTabStrip框架实现了标题栏和ViewPager的链接

实现的module效果图:

PagerSlidingTabStrip框架实现了标题栏和ViewPager的链接_第1张图片

创建完moudle首先在Gradle文件中导入依赖:

compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
创建activity_main布局文件,创建PagerSlidingTabStrip控件,对其进行操作,代码如下:



    
        
        
        

        
    
    
    

    




在MainActivity.java文件中初始化控件,创建mainViewPagerAdapter适配器,并设置适配器,把ViewPager和PagerSlidingTabStrip绑定,MainActivity.java代码如下:

public class MainActivity extends AppCompatActivity {
    private ViewPager vp;
    private PagerSlidingTabStrip pagerSlidingTabStrip;
    private MainViewPagerAdapter mainViewPagerAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {
        vp = (ViewPager) findViewById(R.id.vp_main);
        pagerSlidingTabStrip = (PagerSlidingTabStrip) findViewById(R.id.pagerSlidingTabStrip);
        mainViewPagerAdapter = new MainViewPagerAdapter(getSupportFragmentManager());
        vp.setAdapter(mainViewPagerAdapter);
        //把ViewPager和PagerSlidingTabStrip绑定
        pagerSlidingTabStrip.setViewPager(vp);
    }
}

mainViewPagerAdapter适配器代码如下:

public class MainViewPagerAdapter extends FragmentPagerAdapter{
    private String[]title = {"头条","社会","国内","国际","娱乐","体育","军事","科技","财经","时尚"};
    public MainViewPagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    //管理滑动标题的
    public CharSequence getPageTitle(int position) {
        return title[position];
    }

    @Override
    //管理每个item加载的碎片的
    public Fragment getItem(int position) {
        switch(position){
            case 0:
                return new TopFragment();
            case 1:
                return new TopFragment();
            case 2:
                return new TopFragment();
            case 3:
                return new TopFragment();
            case 4:
                return new TopFragment();
            case 5:
                return new TopFragment();
            case 6:
                return new TopFragment();
            case 7:
                return new TopFragment();
            case 8:
                return new TopFragment();
            case 9:
                return new TopFragment();
        }
        return null;
    }

    @Override
    //返回的是页面的数量
    public int getCount() {
        return title.length;
    }
}
在适配器中需要创建fragment碎片,适配器中数组的长度等于fragment的个数。

你可能感兴趣的:(Android框架,ViewPager)