1.导入依赖:
implementation 'com.flyco.tablayout:FlycoTabLayout_Lib:2.0.2@aar'
2,实体类实现MyCustommRT
String time;//定义变量 int image; int selected; //创建一个继承类CustomTabEntity,设置变量 public MyCustommRT(String time, int image, int selected) { this.time = time; this.image = image; this.selected = selected; } //内容 @Override public String getTabTitle() { return time; } //选中 @Override public int getTabSelectedIcon() { return image; } @Override public int getTabUnselectedIcon() { return selected; }
mainActivity功能实现
private CommonTabLayout commonTabLayout; ArrayList<CustomTabEntity> customTabEntities = new ArrayList<>(); private ViewPager vp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //准备数据源 initView(); customTabEntities.add(new MyCustommRT("首页", R.drawable.baseline_aaa, R.drawable.baseline_aa)); customTabEntities.add(new MyCustommRT("首页", R.drawable.baseline_bbb, R.drawable.baseline_bb)); customTabEntities.add(new MyCustommRT("首页", R.drawable.baseline_ccc, R.drawable.baseline_cc)); commonTabLayout.setTabData(customTabEntities); List<Fragment> list = new ArrayList<>(); list.add(new FragmentA()); list.add(new FragmentB()); list.add(new FragmentC()); //定义适配器 MyfagmenApdpter myfagmenApdpter = new MyfagmenApdpter(getSupportFragmentManager(), list); //设置适配器 vp.setAdapter(myfagmenApdpter); //绑定vp vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { //滚动 @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } //状态选择 @Override public void onPageSelected(int position) { commonTabLayout.setCurrentTab(position); } @Override public void onPageScrollStateChanged(int state) { } }); //绑定commonTabLayout commonTabLayout.setOnTabSelectListener(new OnTabSelectListener() { @Override public void onTabSelect(int position) { vp.setCurrentItem(position); } @Override public void onTabReselect(int position) { } });
} private void initView() { commonTabLayout = (CommonTabLayout) findViewById(R.id.com); vp = (ViewPager) findViewById(R.id.vp); }
适配器实现