我有一个问题,我找不到答案,真的必须解决。 我正在尝试更改选项卡布局指示器的背景,但仅此而已,即,如果整个选项卡布局为绿色,并且选项卡布局指示符的高度为4dp,我希望选项卡布局视图的整个底部4dp将采用另一种颜色(让我们说红色)是那可能吗? 在您回答之前,请注意,我并不是在谈论app:tabIndicatorColor属性,而是在tabIndicator的整个高度上(不管tabIndicator本身)。
例如,在附加的图像上,app:tabIndicatorColor是白色的,但是背景是黑色的,而整个视图都是蓝色的。
编辑- 我设法使用一个具有黑色底视图的FrameLayout来实现它,而TabLayout则以其属性位于其上方,我仍在寻找一种更“干净”的方法来实现相同的目的
答案 0 :(得分:0)
要实现您的期望,可以尝试以下方法
创建选择器 tab_layout_selector
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="false" android:state_pressed="false">
<layer-list>
<!-- Stripe bottom indicator color -->
<item android:top="-5dp" android:left="-5dp" android:right="-5dp">
<shape android:shape="rectangle">
<stroke android:color="@color/red" android:width="4dp"/>
</shape>
</item>
</layer-list>
</item>
</selector>
最后,在您的TabLayout中添加
<android.support.design.widget.TabLayout
<!-- Whole tab background -->
android:background="@color/white"
<!-- Line color -->
android:tabBackground="@drawable/tab_layout_selector"
.... Others....
/>