首页 > 解决方案 > Android TabLayout Indicator可绘制颜色不可见也无法添加自定义宽度

问题描述

我想像这样为 TabLayout 指示器使用自定义可绘制对象 在此处输入图像描述

但它没有显示颜色

也

也无法添加自定义宽度。如您所见,设计的宽度不超过文本的宽度,我该怎么做?

 <com.google.android.material.tabs.TabLayout
                        android:id="@+id/slidingTabs"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="top"
                        app:layout_constraintTop_toTopOf="parent"
                        app:tabIndicator="@drawable/lines"
                        app:tabIndicatorHeight="6dp"
                        app:tabIndicatorFullWidth="false"
                        app:tabMode="fixed"
                        app:tabSelectedTextColor="#000"
                        app:tabTextAppearance="@style/CustomTextAppearanceTab"
                        app:tabTextColor="@color/bluey_grey" />

我尝试过使用 SVG 和 PNG

谢谢

标签: androidandroid-viewandroid-tablayoutmaterial-components-androidmaterial-components

解决方案


默认样式对tabIndicator.
您可以在布局(或您的风格)中添加tabIndicatorColor.

    <com.google.android.material.tabs.TabLayout
        app:tabIndicatorColor="@color/..."
        ..>

您可以使用颜色,也可以使用"@null"(这取决于您的原始可绘制对象)。

关于标签宽度,您可以使用该app:tabMinWidth属性。

    <com.google.android.material.tabs.TabLayout
        app:tabIndicatorFullWidth="true"
        app:tabMinWidth="125dp"
        ..>

在此处输入图像描述


推荐阅读