代码之家  ›  专栏  ›  技术社区  ›  crazyPixel

更改选项卡指示器背景(适用于所有选项卡布局视图)

  •  0
  • crazyPixel  · 技术社区  · 7 年前

    我有一个问题,我找不到答案,必须解决。 我正在尝试更改制表布局指示器的背景,但只是为了它,即如果整个表格布局是绿色的,并且TabLayOutlook指示符高度是4DP,我希望TabLayOutVIEW的整个底部4DP将在另一种颜色(比如说红色)中,这是可能的吗? 在回答之前,请注意我不是在讨论app:tabindicatorcolor属性,而是在tabindicator的整个高度上(不管tabindicator本身是什么)。

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

    enter image description here

    编辑- 我设法使用了一个框架布局,它的底视图是黑色的,而tablayout的属性在它上面,我仍然在寻找一个更“干净”的方法来实现同样的目标。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Ruan_Lopes    7 年前

    为了达到你想要的,你可以尝试以下方法

    创建选择器 制表符布局选择器

    <?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>
    

    最后,在你的小报上加上

     <android.support.design.widget.TabLayout
    
    
        <!-- Whole tab background -->
        android:background="@color/white"
    
        <!-- Line color -->
        android:tabBackground="@drawable/tab_layout_selector"
    
        .... Others....
        />