首页 > 解决方案 > com.google.android.material.tabs.TabLayout 的自定义样式

问题描述

我正在使用适用于 Android的新Google 材料组件

目前,我正在尝试为 Tablayout (com.google.android.material.tabs.TabLayout) 提供自定义外观。

我创建了如下样式:

<style name="AppTheme.TabLayout" parent="Widget.MaterialComponents.TabLayout">
    <item name="android:background">@color/colorPrimary</item>
</style>

但是,应用此主题后,选项卡指示器将变为不可见

无主题:

在此处输入图像描述

带主题:

在此处输入图像描述

另外,我尝试了其他方法,例如更改 tabIndicatorColor,但仍然无法正常工作!

我该如何解决?更改材质组件颜色/主题的正确方法是什么?

标签: androidmaterial-components-android

解决方案


通过这些更改,它可以按预期工作:

<com.google.android.material.tabs.TabLayout
     android:id="@+id/tabLayout"
     style="@style/AppTheme.TabLayout"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     app:layout_collapseMode="pin"
     app:tabGravity="fill"
     app:tabTextAppearance="@style/customFontStyle">

     //Tab items maybe

</com.google.android.material.tabs.TabLayout>

样式.xml:

<style name="AppTheme.TabLayout" parent="Widget.MaterialComponents.TabLayout">
    <item name="android:background">@color/colorPrimary</item>
    <item name="tabIndicatorColor">@color/yourcolor</item>
</style>

结果:

在此处输入图像描述


推荐阅读