Android ViewPager加TabLayout
布局
使用TabLayout需要添加依赖
implementation 'com.android.support:design:26.1.0'
<android.support.v4.view.ViewPager android:id="@+id/vp"
android:layout_width="match_parent"
android:layout_weight="10"
android:layout_height="0dp"></android.support.v4.view.ViewPager>
<android.support.design.widget.TabLayout android:id="@+id/tab"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="0dp"></android.support.design.widget.TabLayout>
让他有三个滑动页面,需要创建三个Fragment。
当然,当Fragment多时创建那那么多Fragment有点麻烦,这时也可以采用Fragment复用,我就直接创建三个Fragment了。
Activity主代码
TabLayout下标题需要泛型为String的集合
TabLayout tabLayout=findViewById(R.id.tab);
ViewPager viewPager=findViewById(R.id.vp);
ArrayList<String> title=new ArrayList<>();
title.add("a");
title.add("b");
title.add("c");
ArrayList<Fragment> list=new ArrayList<>();
BlankFragment1 blankFragment1=new BlankFragment1();
BlankFragment2 blankFragment2=new BlankFragment2();
BlankFragment3 blankFragment3=new BlankFragment3();
list.add(blankFragment1);
list.add(blankFragment2);
list.add(blankFragment3);
MyAdapter_vp myAdapter_vp=new MyAdapter_vp(getSupportFragmentManager(),title,list);
viewPager.setAdapter(myAdapter_vp);
tabLayout.setupWithViewPager(viewPager);
MyAdapter_vp 为ViewPager加TabLayout的适配器
private ArrayList<String> title;
private ArrayList<Fragment> list;
public MyAdapter_vp(FragmentManager fm, ArrayList<String> title, ArrayList<Fragment> list) {
super(fm);
this.title = title;
this.list = list;
}
@Override
public Fragment getItem(int position) {
return list.get(position);
}
@Override
public int getCount() {
return list.size();
}
@Override
public CharSequence getPageTitle(int position) {
return title.get(position);
}
OK了,如果有什么问题可以评论给我!