android tablayout 自定义,android TabLayout自定义指示器样式和长度,通过自定义setCustomView... - 简书...

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

你可能感兴趣的:(android,tablayout,自定义)