Java 如何使导航抽屉文本外观着色?

Java 如何使导航抽屉文本外观着色?,java,android,navigation-drawer,Java,Android,Navigation Drawer,如何使导航抽屉文本的外观如下图所示 我想设计这样的导航抽屉 当我单击导航抽屉项目时,如何更改文本颜色、图标颜色和背景颜色 使用以下属性将颜色设置为您喜欢的颜色: drawerLayout.setScrimColor(Color.PURPLE); 编辑:我一定是误解了你的问题。您是否有抽屉菜单并想更改阴影颜色,或者根本没有抽屉菜单?如果对前者是肯定的,我先前的回答应该包括它,如果对后者是肯定的,请从开发者网站上查看以下内容: 请按照以下步骤操作: 创建一个可绘制的选择器 希望它对你有用。 谢谢。

如何使导航抽屉文本的外观如下图所示

我想设计这样的导航抽屉

当我单击导航抽屉项目时,如何更改文本颜色、图标颜色和背景颜色


使用以下属性将颜色设置为您喜欢的颜色:

drawerLayout.setScrimColor(Color.PURPLE);
编辑:我一定是误解了你的问题。您是否有抽屉菜单并想更改阴影颜色,或者根本没有抽屉菜单?如果对前者是肯定的,我先前的回答应该包括它,如果对后者是肯定的,请从开发者网站上查看以下内容:
请按照以下步骤操作:

  • 创建一个可绘制的选择器
  • 希望它对你有用。
    谢谢。

    @Cœur但我很清楚他/她想做什么:更改所选物品的颜色。我会将其标记为“过于宽泛”或“要求教程”@KlingKlang我最初也理解这一点,因此answer@BlackBlind,最好提供一个不显示任何电子邮件地址的屏幕截图。@Cœur bro我在无法显示的部分画了圈make@BlackBlind我已经在你的问题中包括了你评论中的澄清,我已经撤回了我的投票。下一次,最好直接提问以包含这些详细信息。您的代码很好,但在我选择任何项目时更改所有项目的颜色。请检查我是否进行了更改。这将帮助您手动检查和取消选中项目。您可以检查您想要的物品。@Surendra Kumar好极了!!它正在工作。但是我还需要点别的,你能帮我吗。在此代码中,当我点击导航项目时,它将更改颜色或所选项目,但当我返回并选择第二个项目时,现在两个项目都是pinki want当我点击第二个项目时,第一个项目将为黑色,第二个项目为粉色。请帮助我out@BlackBlind对于导航菜单,有一个组,您必须在其中设置CheckableBehavior=“单身”,完成了吗?
    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <!-- This is used when the Navigation Item is checked -->
        <item android:color="#E91E63" android:state_checked="true" />
        <!-- This is the default text color -->
        <item android:color="@android:color/black" />
    </selector>
    
    @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
            switch (menuItem.getItemId()) {
                case R.id.any_id:
                   menuItem.setChecked(true);
                    break;
                case R.id.any_id:
     menuItem.setChecked(true);
                    break;
                case R.id.any_id:
     menuItem.setChecked(true);
                    break;
                case R.id.any_id:
     menuItem.setChecked(true);
                    break;
    
            }
    
            return false;
        }