Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android中为底部导航图标/文本设置不同的颜色_Android_Android Color - Fatal编程技术网

如何在Android中为底部导航图标/文本设置不同的颜色

如何在Android中为底部导航图标/文本设置不同的颜色,android,android-color,Android,Android Color,我在一个Android应用程序中工作,在这个应用程序中我有底部导航活动。 底部导航包含3个图标:主页、提醒、设置。 和3个片段,如主页片段、提醒片段、设置片段 我需要做的是,默认情况下,当我打开应用程序时,我想为主图标和文本设置颜色(所选项目的图标颜色和文本颜色应该不同),如果我从底部导航选择了其他选项卡,我想更改所选选项卡的颜色 我试过以下方法 res/color/bnv_tab_item_foreground.xml <selector xmlns:android="http://sc

我在一个Android应用程序中工作,在这个应用程序中我有底部导航活动。 底部导航包含3个图标:主页、提醒、设置。 和3个片段,如主页片段、提醒片段、设置片段

我需要做的是,默认情况下,当我打开应用程序时,我想为主图标和文本设置颜色(所选项目的图标颜色和文本颜色应该不同),如果我从底部导航选择了其他选项卡,我想更改所选选项卡的颜色

我试过以下方法

res/color/bnv_tab_item_foreground.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:color="@color/selected" />
    <item android:color="@android:color/darker_gray"  />
</selector>

values/colors.xml

<resources>
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>
    <color name="selected">#25EB13</color>
    <color name="not_selected">#EB1347</color>

</resources>

#3F51B5
#303F9F
#FF4081
#25EB13
#EB1347
activity_main.xml

 <android.support.design.widget.BottomNavigationView
        android:id="@+id/navigation"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="0dp"
        android:layout_marginStart="0dp"
        android:background="?android:attr/windowBackground"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:menu="@menu/navigation"
        app:itemIconTint="@color/bnv_tab_item_foreground"
        app:itemTextColor="@color/bnv_tab_item_foreground" />


上述代码id对我无效。请帮助我解决此问题。

在选择器的第二项中,尝试添加
android:state\u checked=“false”


在选择器的第二项中,尝试添加
android:state\u checked=“false”


很简单您可以制作可绘制和颜色选择器。看看如何:

1:制作可拉拔选择器 res/drawable/drawable_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/colorAccent" android:state_checked="true" /> // you can take drawable too. 
    <item android:drawable="@color/colorAccentDark" />
</selector>

//你也可以带上drawable。
2.制作颜色选择器 res/color/color\u selector.xml

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

现在在XML中使用这两个选择器

<android.support.design.widget.BottomNavigationView
    ...
    app:itemBackground="@drawable/drawable_selector" // set background
    app:itemIconTint="@color/color_selector" // set icon tint/color
    app:itemTextColor="@color/color_selector" // set text color
    app:menu="@menu/home_bottom_menu"
    ... />

很简单您可以制作可绘制和颜色选择器。看看如何:

1:制作可拉拔选择器 res/drawable/drawable_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/colorAccent" android:state_checked="true" /> // you can take drawable too. 
    <item android:drawable="@color/colorAccentDark" />
</selector>

//你也可以带上drawable。
2.制作颜色选择器 res/color/color\u selector.xml

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

现在在XML中使用这两个选择器

<android.support.design.widget.BottomNavigationView
    ...
    app:itemBackground="@drawable/drawable_selector" // set background
    app:itemIconTint="@color/color_selector" // set icon tint/color
    app:itemTextColor="@color/color_selector" // set text color
    app:menu="@menu/home_bottom_menu"
    ... />