1? ? ? ? 现在tablayout主要和viewpager2搭配使用
2? ? ? ? tablayout注意要添加依赖
implementation 'com.google.android.material:material:1.5.0-alpha05'
3? ? ? ? tablayout的常见属性:
//设置tab下划线的长度,false是跟字体一样宽,true是跟tab的距离一样宽
tabLayout.setTabIndicatorFullWidth(false);
//设置点击前后tab文字颜色变化,第一个是点击前
tabLayout.setTabTextColors(Color.BLACK,Color.GREEN);
tabLayout.setTabTextColors(getResources().getColor(R.color.pink),getResources().getColor(R.color.red));//自定义颜色
//每一个tab被点击时的背景色,这里设置为了透明色
tabLayout.setTabRippleColor(ColorStateList.valueOf(Color.TRANSPARENT));
//设置整个tablayout的背景色
tabLayout.setBackgroundColor(getResources().getColor(R.color.pink));
//让tablayout和viewpager2实现联动
new TabLayoutMediator(tabLayout, viewPager2, new TabLayoutMediator.TabConfigurationStrategy() {
@Override
public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {
tab.setText(tabTexts.get(position));//tabTexts是字符串数组,设置每个tab的文字
}
}).attach();
//给每一个tab设置图标,在文字上方
tabLayout.getTabAt(0).setIcon(R.drawable.tab1);
tabLayout.getTabAt(1).setIcon(R.drawable.tab2);
tabLayout.getTabAt(2).setIcon(R.drawable.tab3);
tabLayout.getTabAt(3).setIcon(R.drawable.tab4);
4? ? ? ? 还能设置自定义的tab布局,setCustomView
|