//导入TabLayout 依赖
implementation ‘com.android.support:design:28.0.0’
//注意依赖的符号
适配器adapter
Activity
//我抽取的基类
public class MainActivity extends BasActivity {
private ViewPager main_viewp;
private TabLayout main_tabl;
private List<Fragment> list;
@Override
protected void initdata() {
list = new ArrayList<>();
list.add(new FragmentOne());
list.add(new FragmentTwo());
list.add(new FragmentThree());
//绑定适配器
FragmentAdapter fragmentAdapter = new FragmentAdapter(getSupportFragmentManager(),list);
main_viewp.setAdapter(fragmentAdapter);
//默认预加载数量
main_viewp.setOffscreenPageLimit(3);
for (int i = 0; i < list.size(); i++) {
main_tabl.addTab(main_tabl.newTab());
}
main_tabl.setupWithViewPager(main_viewp);
main_tabl.getTabAt(0).setText("首页");
main_tabl.getTabAt(1).setText("视频");
main_tabl.getTabAt(2).setText("我的");
}
@Override
protected void initview() {
main_viewp = findViewById(R.id.main_viewp);
main_tabl = findViewById(R.id.main_tabl);
}
@Override
protected int bas() {
return R.layout.activity_main;
}
//fragment
public class FragmentOne extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View inflate = inflater.inflate(R.layout.fragmentone, null);
return inflate;
}
}
//布局
<android.support.v4.view.ViewPager
android:layout_weight="9"
android:id="@+id/main_viewp"
android:layout_width="match_parent"
android:layout_height="0dp">
</android.support.v4.view.ViewPager>
<android.support.design.widget.TabLayout
app:tabTextColor="#ffffff"
android:layout_weight="1"
android:id="@+id/main_tabl"
android:layout_width="match_parent"
android:layout_height="0dp">
</android.support.design.widget.TabLayout>