[20]——简单说说自定义TabLayout的分隔符

想必关于使用自定义 TabLayout 来作为ViewPager 的指示器,大家都已经很熟悉了吧,如果还不了解自定义 TabLayout,可以看看 Showdy 写的 TabLayout之自定义样式 。

本文呢,不再过多的复述如何自定义 TabLayout 的样式相关问题,而是简单说说如何自定义 TabLayout 的分隔符 Divider

如下图所示,是需要实现的页面效果:

[20]——简单说说自定义TabLayout的分隔符_第1张图片
页面效果

可以看到跟一般的 ViewPager 的Tab 指示器不同,没有文字下方的指示条,取而代之的是 Tab 之间的分隔符,并且这个分隔符是有上下间距要求的。

废话不错说,直接 show me the fxcking code !!!

activity中的tab:

   //未被选中的文字颜色
    

分隔符 Divider 的自定义样式文件 divider_vertical.xml(位于 drawable 文件夹下):



    
    
    
    

在 Java 文件中设置:

mTabs.setTabMode(TabLayout.MODE_FIXED); //当Tab较少,且占满整个屏幕时可以使用这种模式;
mTabs.setTabGravity(TabLayout.GRAVITY_FILL); //配合TabMode使用,用于让每个标签平分TabLayout的全部宽度
LinearLayout linearLayout = (LinearLayout) mTabs.getChildAt(0);
linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.divider_vertical)); //设置分割线的drawable
linearLayout.setDividerPadding(SizeUtils.dip2px(this, 9));   //该方法传入的参数为像素的大小,故需要使用dp转px的方法

至此我们就实现了自定义 TabLayout 的风格线的方法了,大家是不是也发现了 TabLayout 的强大之处了~本次的文章很短,感觉还是很有用的,如果哪位小伙伴遇到了这样的问题,通过本文帮你解决了疑惑,请点个喜欢吧~

你可能感兴趣的:([20]——简单说说自定义TabLayout的分隔符)