BottomNavigationView 的标题颜色为渐变

Posted

技术标签:

【中文标题】BottomNavigationView 的标题颜色为渐变【英文标题】:BottomNavigationView's titles' color being a gradient 【发布时间】:2020-06-20 06:29:21 【问题描述】:

我需要将android中BottomNavigationView中的标题设置为渐变色。

<?xml version="1.0" encoding="utf-8"?>
<gradient xmlns:android="http://schemas.android.com/apk/res/android"
        android:startColor="@color/gradientLeft"
        android:endColor="@color/gradientRight"
        android:angle="0"/>

我已经设置了颜色,它适用于例如BtmNavView 上的图标,但我无法让标题将其颜色更改为渐变。

<com.google.android.material.bottomnavigation.BottomNavigationView
        android:id="@+id/btmNav"
        android:layout_
        android:layout_
        android:layout_alignParentBottom="true"
        android:layout_gravity="bottom"
        android:background="?attr/toolbarColor"
        android:theme="@style/Widget.BottomNavigationView"
        app:itemHorizontalTranslationEnabled="false"
        app:itemTextColor="@drawable/test_gradient_colorstatelist"
        app:layout_behavior="com.x.x.tools.BottomNavigationBehavior"
        app:menu="@menu/bottom_nav" />

我也设置了一个选择器,但对标题没有影响。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
    android:color="@color/gradient" />
<item android:state_checked="true"
    android:color="@color/gradient" />
<item android:color="@color/gradient" />

任何想法如何将底部标题的颜色更改为渐变?

【问题讨论】:

【参考方案1】:

查看此问题的正确答案,可能对您有所帮助:

Set gradient color for text in Android Studio with Kotlin language

【讨论】:

java.lang.RuntimeException:无法启动活动 ComponentInfocom.xx/com.xxactivities.MainActivity:android.view.InflateException:com.xx:layout 中的二进制 XML 文件第 61 行/activity_main:com.xx:layout/activity_main 中的二进制 XML 文件第 61 行:膨胀类 com.google.android.material.bottomnavigation.BottomNavigationView 时出错 引起:android.view.InflateException:com.xx:layout/activity_main 中的二进制 XML 文件第 61 行:com.xx:layout/activity_main 中的二进制 XML 文件第 61 行:膨胀类错误com.google.android.material.bottomnavigation.BottomNavigationView 引起:android.view.InflateException:com.xx:layout/activity_main 中的二进制 XML 文件第 61 行:膨胀类 com.google.android.material.bottomnavigation.BottomNavigationView 你在哪里设置我说的线?!在 '' 中,您应该放置该行,并且应该从您的 xml 中省略 ' app:itemTextColor="@drawable/test_gradient_colorstatelist" '。 我就是这样做的,用您建议的行替换了 colorstatelist,这导致了我评论的错误。我可以很好地使用纯色,但无法使用渐变 你说得对,我会搜索你的回复。我希望能成功。

以上是关于BottomNavigationView 的标题颜色为渐变的主要内容,如果未能解决你的问题,请参考以下文章

如何禁用 BottomNavigationView 移位模式?

移除 BottomNavigationView 标签

安卓。具有单一活动方法的 BottomNavigationView

BottomNavigationView - 阴影和波纹效果

共享元素过渡重叠 BottomNavigationView

如何在 BottomNavigationView 的片段上打开搜索界面?