导入依赖
implementation 'com.android.support:design:26.1.0'
写布局
<android.support.design.widget.TabLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/tabLayout"></android.support.design.widget.TabLayout>
<android.support.v4.view.ViewPager
android:id="@+id/film_viewPager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"></android.support.v4.view.ViewPager>
适配器代码
public class FragmentAdapter extends FragmentPagerAdapter {
public FragmentAdapter(FragmentManager fm) {
super(fm);
}
private ArrayList<Fragment> list;//需要传入的数据是一个集合
public void setList(ArrayList<Fragment> list) {
this.list = list;
}
@Override
public Fragment getItem(int position) {
return list.get(position);
}
@Override
public int getCount() {
return list.size();
}
}
java代码
list = new ArrayList<>(); list.add(new OneFragment()); list.add(new TwoFragment()); list.add(new ThreeFragment()); FragmentAdapter fragmentAdapter = new FragmentAdapter(getChildFragmentManager());//创建viewpager的适配器 fragmentAdapter.setList(list); film_viewPager.setAdapter(fragmentAdapter); tabLayout.addTab(tabLayout.newTab()); tabLayout.addTab(tabLayout.newTab()); tabLayout.addTab(tabLayout.newTab()); tabLayout.setupWithViewPager(film_viewPager); tabLayout.getTabAt(0).setText("热门影片"); tabLayout.getTabAt(1).setText("正在上映"); tabLayout.getTabAt(2).setText("即将上映");