【问题标题】:Changing tab indicator background (for all the tablayout view)更改选项卡指示器背景(适用于所有选项卡布局视图)
【发布时间】:2018-06-20 06:21:07
【问题描述】:

我有一个问题,我找不到答案,真的必须解决。 我正在尝试更改选项卡布局指示器的背景,但只是为了它,即如果整个 tablayout 是绿色并且 tablayoutindicator 高度是 4dp 我希望 tablayoutview 的整个底部 4dp 将是另一种颜色(比如说红色)是那可能吗? 在您回答之前,请注意我不是在谈论 app:tabIndicatorColor 属性,而是在 tabIndicator 的整个高度上(不管 tabIndicator 本身)。

例如,在附加图像上,app:tabIndicatorColor 是白色的,但它的背景是黑色的,而整个视图是蓝色的。

编辑 - 我设法使用具有黑色底视图的 FrameLayout 来做到这一点,而 tablayout 在其上方具有其属性,我仍在寻找一种更“干净”的方式来实现相同的目标

【问题讨论】:

  • 碰巧你有一个你想要实现的形象吗?
  • @Ruan_Lopes 当然,请参阅我的编辑以获取图像和说明。

标签: android android-tablayout


【解决方案1】:

要实现您正在寻找的内容,您可以尝试以下方法

创建一个选择器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....
    />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-28
    • 1970-01-01
    • 1970-01-01
    • 2017-03-21
    • 2019-12-28
    • 2016-10-01
    相关资源
    最近更新 更多