Viewpager+tablayout
<com.google.android.material.tabs.TabLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="scrollable"
app:tabIndicatorColor="@color/colorAccent"
android:id="@+id/tab"></com.google.android.material.tabs.TabLayout>
<androidx.viewpager.widget.ViewPager
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/par"></androidx.viewpager.widget.ViewPager>
private TabLayout tab;
private ViewPager par;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tab = (TabLayout) findViewById(R.id.tab);
par = (ViewPager) findViewById(R.id.par);
List<Fragment> list=new ArrayList<>();
list.add(new BlankFragment());
list.add(new BlankFragment());
list.add(new BlankFragment());
List<String> titlelist=new ArrayList<>();
titlelist.add("新闻");
titlelist.add("电影");
titlelist.add("娱乐");
Myadapter myadapter = new Myadapter(getSupportFragmentManager(),list,titlelist);
par.setAdapter(myadapter);
tab.setupWithViewPager(par);
}
public class Myadapter extends FragmentPagerAdapter {
private List<Fragment> list;
private List<String> titlelist;
public Myadapter(@NonNull FragmentManager fm, List<Fragment> list, List<String> titlelist) {
super(fm);
this.list = list;
this.titlelist = titlelist;
}
@NonNull
@Override
public Fragment getItem(int position) {
return list.get(position);
}
@Override
public int getCount() {
return list.size();
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return titlelist.get(position);
}
}