ViewPager
Viewpager,视图翻页工具,提供了多页面切换的效果。Android 3.0后引入的一个UI控件,位于v4包中。低版本使用需要导入v4包,但是现在我们开发的APP一般不再兼容3.0及以下的系统版本,另外现在大多数使用Android studio进行开发,默认导入v7包,v7包含了v4,所以不用导包,越来越方便了。
提供了翻页功能,其中放的是Fragment(前一篇有提到,不多赘述)
只需在xml中写此控件,再去java中把控件拿到,第一步就完成了,第二部是设置
final ArrayList<Fragment> arrayList = new ArrayList<>();
arrayList.add(new Fragment1_1());
arrayList.add(new Fragment1_2());
arrayList.add(new Fragment1_3());
arrayList.add(new Fragment1_4());
arrayList.add(new Fragment1_3());
viewById.setAdapter(new FragmentPagerAdapter(this.getChildFragmentManager()) {
@Override
public Fragment getItem(int i) {
return arrayList.get(i);
}
@Override
public int getCount() {
return arrayList.size();
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return strings[position];
}
});
设置好内部的碎片和适配器之后,就已经可以展示出来效果了
这个是翻页过程中的图,勉强凑活看吧
然后就是给他对应的碎片添加对应的选项卡,即为TabLayout
final String[] strings = {"选项卡一", "选项卡二", "选项卡三", "选项卡四", "选项卡五"};
先追备好数据源
然后呢就是如何对应上了,在之前的代码中其实已经写到了
就是在适配器中多写了一个方法
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return strings[position];
}
这一步是让他们可以对应上,然后我们还需要给ViewPager和TabLayout建立联系,只需要一行代码
mytab.setupWithViewPager(viewById);