Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.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
Java 激活/非激活时更改菜单项颜色_Java_Android_Android Studio_Webview_Android Webview - Fatal编程技术网

Java 激活/非激活时更改菜单项颜色

Java 激活/非激活时更改菜单项颜色,java,android,android-studio,webview,android-webview,Java,Android,Android Studio,Webview,Android Webview,我有3个菜单项,想更改它们的样式 我已经将itemicontent和Color设置为purple_500,现在所有的项目/文本都是相同的颜色,不管它们是否处于活动状态 我如何通过编程实现这一点 这是我的主要活动 <com.google.android.material.bottomnavigation.BottomNavigationView android:id="@+id/bottom_navigation" android:layo

我有3个菜单项,想更改它们的样式

我已经将itemicontent和Color设置为purple_500,现在所有的项目/文本都是相同的颜色,不管它们是否处于活动状态

我如何通过编程实现这一点

这是我的主要活动

<com.google.android.material.bottomnavigation.BottomNavigationView
        android:id="@+id/bottom_navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@color/white"
        app:itemIconSize="22dp"
        app:menu="@menu/bottom_navigation"
        app:itemIconTint="@color/purple_500"
        app:itemTextColor="@color/purple_500"/>

您可以通过使用可绘图工具来实现这一点

可绘制/底部\u选项卡\u color.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:color="@color/colorActive"
        android:state_selected="true"
        android:state_checked="true"/>

    <item
        android:color="@color/colorInactive"/>

</selector>

它工作得很好

如果禁用色调,则非活动图标/文本为白色。我找不到它的源头,否则我就不会走这条路了。
public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.nav_live:
                navLive();
                return true;
            case R.id.nav_articles:
                navArticles;
                return true;
            case R.id.nav_notification:
                onMenuItemSelected()
                return true;
            default:
                return: super.onOptionsItemSelected(item);
        }
    }
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:color="@color/colorActive"
        android:state_selected="true"
        android:state_checked="true"/>

    <item
        android:color="@color/colorInactive"/>

</selector>
<com.google.android.material.bottomnavigation.BottomNavigationView
     android:id="@+id/bottomNavigation"
     android:layout_width="match_parent"
     android:layout_height="@dimen/bottom_nav_height"
     app:itemTextColor="@drawable/bottom_tab_color"
     app:itemIconTint="@drawable/bottom_tab_color"
     app:menu="@menu/bottom_nav_menu" />