1.描述
viewpager+tabLayout+fragment非常常见,但google只给出了改变tabLayout中的tab IndicatorHeight的方法,其宽度是填充满整个tab的,且不能更改。在网上看了很多关于改变indicator的长度的方式,大多集中与反射和setCustomView()的方式,个人更倾向于后者。
2.实现
1.效果
Screenshot_2019-07-23-13-35-38-385_com.summer.tab.png
2.setCustomView的使用方式
或许大概可能都知道吧,还是记录一下
for(int i=0;i
Tab tab =tabLayout.getTabAt(i);
View view = LayoutInflater.from(getContext()).inflate(R.layout.layout_extentd_tab, (LinearLayout) tabView, false);
tab.setCustomView(view);
}
网上通常的做法是通过以上循环来添加,其中layout_extend_tab是自定义customView的布局,在此处有一点小坑(我被坑了反正),此处的LayoutInflater.from(getContext()).inflate(R.layout.layout_extentd_tab, (LinearLayout) tabView, false)必须这样用,我通常加载布局是使用LayoutInflater.fro