更改标签指示器背景(适用于所有标签布局视图)
Changing tab indicator background (for all the tablayout view)
我有一个问题,我找不到答案,但确实必须解决。
我正在尝试更改选项卡布局指示器的背景,但仅此而已,即如果整个 tablayout 为绿色且 tablayoutindicator 高度为 4dp 我希望 tablayoutview 的整个底部 4dp 将采用另一种颜色(可以说是红色)是那可能吗?
在您回答之前,请注意我不是在谈论 app:tabIndicatorColor 属性,而是在 tabIndicator 的整个高度上(不管 tabIndicator 本身)。
例如,在所附的图像上,app:tabIndicatorColor 是白色的,但它的背景是黑色的,而整个视图是蓝色的。
编辑 -
我设法使用具有黑色底部视图的 FrameLayout 来完成此操作,而 tablayout 位于其上方及其属性,我仍在寻找更多 "clean" 方法来实现相同的事情
要实现您的目标,您可以尝试以下方法
创建选择器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....
/>
我有一个问题,我找不到答案,但确实必须解决。 我正在尝试更改选项卡布局指示器的背景,但仅此而已,即如果整个 tablayout 为绿色且 tablayoutindicator 高度为 4dp 我希望 tablayoutview 的整个底部 4dp 将采用另一种颜色(可以说是红色)是那可能吗? 在您回答之前,请注意我不是在谈论 app:tabIndicatorColor 属性,而是在 tabIndicator 的整个高度上(不管 tabIndicator 本身)。
例如,在所附的图像上,app:tabIndicatorColor 是白色的,但它的背景是黑色的,而整个视图是蓝色的。
编辑 - 我设法使用具有黑色底部视图的 FrameLayout 来完成此操作,而 tablayout 位于其上方及其属性,我仍在寻找更多 "clean" 方法来实现相同的事情
要实现您的目标,您可以尝试以下方法
创建选择器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....
/>