android - 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,但仍然无法正常工作!
我该如何解决?更改材质组件颜色/主题的正确方法是什么?
解决方案
通过这些更改,它可以按预期工作:
<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>
结果:
推荐阅读
- c# - 基于 C# 的 DLL 包装基于 C 的 DLL 使用问题
- azure - 能否将 SSRS 订阅导出到 Azure 文件共享
- system-verilog - 我可以总是合并@*过程块吗
- c# - 如何将绑定值和 onchange 放在同一个输入复选框中?
- phpmyadmin - MariaDB 将每个单词的首字母大写
- c - 多路径 Tcp / linux 内核的循环调度程序 C 实现
- php - 从头开始 Cron Job PHP localhost
- algorithm - 找出创建满足 m 个条件的长度为 n 的序列 A 的方法的数量
- sql - 如何在递归函数的循环中使用#tmp 表
- git-bash - 尽管文件存在,但系统给出 FileNotFound 错误 (Nim)