如何更改附加到导航视图的子菜单的文本和图标的颜色?

2024-02-16

我试图弄清楚如何更改实际附加到导航视图的子菜单项的颜色。以下代码实际上来自 android studio 中可用的导航抽屉的默认模板。

活动_主_抽屉.xml

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

    <group android:checkableBehavior="single">
        <item
            android:id="@+id/nav_camara"
            android:icon="@android:drawable/ic_menu_camera"
            android:title="Import"
            />
        <item
            android:id="@+id/nav_gallery"
            android:icon="@android:drawable/ic_menu_gallery"
            android:title="Gallery"/>
        <item
            android:id="@+id/nav_slideshow"
            android:icon="@android:drawable/ic_menu_slideshow"
            android:title="Slideshow"/>
        <item
            android:id="@+id/nav_manage"
            android:icon="@android:drawable/ic_menu_manage"
            android:title="Tools"/>
    </group>

    <item android:title="Communicate">
        <menu>
            <item
                android:id="@+id/nav_share"
                android:icon="@android:drawable/ic_menu_share"
                android:title="Share"/>
            <item
                android:id="@+id/nav_send"
                android:icon="@android:drawable/ic_menu_send"
                android:title="Send"/>
        </menu>
    </item>

</menu>

活动主文件

    <include
        layout="@layout/app_bar_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        android:background="#512DA8"
        app:headerLayout="@layout/nav_header_main"
        app:menu="@menu/activity_main_drawer"
        app:itemTextColor="@drawable/nav_menu_item_color"
        app:itemIconTint="@drawable/nav_menu_item_color"/>

</android.support.v4.widget.DrawerLayout>

我有一个用于单击和上面实际使用的正常颜色的可绘制文件。 nav_menu_item color.xml

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


</selector>

So, you can see result image as I attached below :-Color of Sub-Menu Items didn't change

颜色不适用于子菜单,所以,我想做的是..我想更改菜单项“通信”和子菜单项“发送”和“共享”的颜色,因为它适用于根菜单项


更改导航视图中标题和副标题的颜色并将以下代码粘贴到您的资源>值>styles.xml

 <style name="NavigationViewStyle">
    <item name="android:textSize">16sp</item> <!-- menu item text size-->
    <item name="android:listPreferredItemHeightSmall">40dp</item><!-- menu item height-->
    <item name="android:textColorPrimary">@android:color/white</item>
    <item name="android:textColorSecondary">#FFB300</item>
</style>

NavigationView 将标题颜色设置为 textcolor secondary ,将子标题颜色设置为 textColor Primary 。

最后,在navigationView中添加这个样式

 <android.support.design.widget.NavigationView
    android:id="@+id/navview"
    android:layout_width="300dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="#022F56"
    app:headerLayout="@layout/sidebar_header"
    app:theme="@style/NavigationViewStyle"
    app:menu="@menu/sidebar_home"/>

And the output will be, enter image description here

就这样,快乐编码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更改附加到导航视图的子菜单的文本和图标的颜色? 的相关文章

  • adb shell 输入带有空格的文本

    如何发送带有空格的文本 例如 一些文字 using adb shell input text 找到以下解决方案 adb shell input text some stext 工作正常 但是有什么简单的方法可以用 s 替换空格吗 Examp
  • 使用 HashMap 映射 String 和 int

    我有一个显示国家 地区名称的列表视图 我已将名称作为字符串数组存储在 strings xml 中 称为国家 地区名称 在填充 ListView 时 我使用从 strings xml 读取的 ArrayAdapter String count
  • XML中的根节点、根元素和文档元素有什么区别?

    我在读W3C XML 路径语言 XPath 版本 1 0 第 5 1 节 根节点 https www w3 org TR 1999 REC xpath 19991116 root node 根节点是树的根 除非作为树的根 否则不会出现根节点
  • Android 操作栏 SearchView 作为自动完成功能?

    我在操作栏中使用 SearchView 我想在搜索视图上使用自动完成功能来从数据库中获取结果 这可能吗 或者我是否需要使用自定义文本框 然后添加自动完成功能 所以我只需要对 v7 版本执行此操作 并沮丧地发现我不能简单地使用 ArrayAd
  • 检测Android N版本代码

    是否可以检测用户是否运行 Android N 我有一台装有 Android N 开发者预览版的 Nexus 6 如果我尝试获取构建版本Build VERSION SDK INT 它返回 23 等于 Android Marshmallow Q
  • Google play APK 上传错误重复权限声明

    我尝试上传新的 apk 使用我自己的发布密钥存储签名 并在 google play 开发者控制台中收到以下错误 重复的许可声明 android permission ACCESS COARSE LOCATION 与不同 maxSdkVers
  • openFileOutput 在单例类中无法正常工作 - 想法/解决方法?

    作为一名 Android 开发新手 我遇到了一些奇怪的问题 我想创建一个类 它方法其他类 活动 任何可以用于以某种特殊方式处理文件的类 假设为了简单起见 我们将记录一些内容 如果我在活动中执行以下操作 例如在 OnClick 侦听器中 则一
  • Android Studio 与 Google Play 服务的编译问题

    我正在运行 Android Studio 0 8 4 并在 Android Studio 0 8 2 上尝试过此操作 我正在运行 Java JDK 1 8 0 11 并尝试使用 JDK 1 8 0 05 每当我尝试构建我的 android
  • 如何切换状态栏?

    我正在寻找一种显示和隐藏状态栏的方法onClickListener 但仅显示其有效 WindowManager LayoutParams lp getWindow getAttributes if isStatusbarVisible lp
  • 在 Unity 中构建 apk 应用程序时包含文件

    在unity中构建apk文件时如何将文件和文件夹添加到apk文件中 我需要的是在Android上安装应用程序后 在应用程序的父目录 android data com company product files 中存在一些文件和文件夹 这是我
  • android gradle插件-离线安装

    我必须在离线电脑上安装 android gradle 插件 通过谷歌搜索 我了解到我可以通过本地 Maven 存储库来做到这一点 但从不成功的尝试和所有关于这个问题的质量保证中我知道这并不简单 我从来没有和maven一起工作过 有经验的人可
  • 如何让 Mockito 在 androidTest 中工作

    在我的测试中 我如何模拟我编写的课程 这是我的测试代码 import android support test runner AndroidJUnit4 import org junit Before import org junit Te
  • Xml、xsl Javascript 排序

    我正在寻找一种使用 javascript 对 xml 数据进行排序的方法 并希望最终过滤掉数据 我知道这一切都可以在 xsl 文件中实现 但我想在客户端进行 我已经搜索了多个使用 javascript 进行排序的地方 但其中大部分要么太特定
  • Android 中的 BLE Gatt onConnectionStateChanged 失败,状态为 257

    我正在开发一个同时连接到多个BLE设备的Android应用程序 之后我从这些设备永久读取特征 但过了一会儿 我在onConnectionStateChanged 函数中得到状态257 android文档没有解释错误的原因是什么 或者如何修复
  • 布局聊天气泡问题:TextView 占满整个屏幕

    我正在研究泡泡聊天 我使用具有两种布局的适配器 一种用于传入消息 另一种用于我的消息 适配器工作正常 我的问题在于传入布局 无法很好地显示传入时间文本 当消息文本增长时 会填满屏幕的整个宽度 并隐藏消息时间的文本 第一个问题 如何才能实现这
  • 获取接收者的设备令牌以在 Firebase 中发送通知

    所以我正在学习如何使用 firebase 发送设备到设备的通知 我看到了这个answer https stackoverflow com a 42548586 5237289发送通知 看起来很简单 现在 我知道要获取发件人的令牌 它应该如下
  • Meteor:即使设置了 ANDROID_HOME 也未设置

    操作系统 Ubuntu 14 04 框架 流星1 1 0 2 应用名称 Songofy 这是输出meteor install sdk android meteor install sdk android Found Android bund
  • 如何使用 python 在 XML 声明后添加注释

    import xml etree ElementTree as ET def addCommentInXml fileXml C Users Documents config xml tree ET parse fileXml root t
  • 如何将 Android 应用程序添加到已在 iOS 应用程序中使用的现有 Firebase 项目?

    我一直在我的 iOS 应用程序中使用 Firebase 项目 我现在想开始为 Android 应用程序使用相同的 Firebase 项目及其所有数据库和存储 在您的应用程序下Overview菜单 你应该按添加另一个应用程序并选择Androi
  • Android IntentService无法实例化类;没有空构造函数

    我有一个MainActivity需要访问在线 API 从而使用网络资源 的类 这需要我在单独的文件中创建的后台线程HttpRequestService java MainActivity java public class MainActi

随机推荐

  • 如何将 JsonConverter 与 JToken.ToObject<>() 方法一起使用?

    我正在将一个大型 JSON 文件成功读取到 JObjects 中 我要反序列化的类型之一具有 System Drawing Color 类型的属性 此属性的 JSON 具有表示颜色的整数值 当我尝试执行 ToObject 时 我得到 将值
  • 查找插入特定表的存储过程

    有没有办法找到存储过程在表中创建的条目 举例来说 存储过程A插入表A存储过程 B 插入表 A存储过程 C 插入表 B 我希望查询返回存储过程 A 和存储过程 B 的名称 我现在已经得到了这个 但它所做的只是找到存储过程 我认为这将是查找存储
  • 暂时禁用mysql远程访问

    我需要在 Linux 服务器上的每晚 mysql 维护期间禁用远程访问 以便在此期间没有人可以查询数据库 我无法执行 SERVICE MYSQL STOP 因为那样我就无法执行我需要执行的操作 截断并重建几个表 有没有办法暂时关闭外部访问
  • 如何避免 R Fisher.test 工作区错误

    我正在对大量列联表进行渔夫精确检验 并保存生物信息学问题的 p val 其中一些列联表很大 因此我尽可能地增加了工作空间 但是当我运行以下代码时出现错误 result lt fisher test data workspace 2e9 LD
  • 命令行流网络摄像头,带有来自 Ubuntu 服务器的 WebM 格式的音频

    我正在尝试从连接到无头 Ubuntu 服务器 运行 Maverick 10 10 的网络摄像头传输视频和音频 我希望能够以 WebM 格式 VP8 视频 OGG 进行流式传输 带宽有限 因此流必须低于 1Mbps 我尝试过使用 FFmpeg
  • 获取用户使用discord.py发送的最后一条消息?

    我想知道是否有办法让机器人使用 Python 中的discord py 获取用户在服务器聊天中发送的最后一条消息 多谢 旧答案discord py async 重写前 Use log froms http discordpy readthe
  • Scala 关闭挂钩从未运行?

    scaladoc 为sys addShutdownHook says shutdown hooks are NOT guaranteed to be run 现在这是完全合理的 因为如果您向 JVM 发送 SIGKILL 或任何 Windo
  • 整数数组的ArrayList

    我正在尝试编写一个简单的游戏 其中敌人在网格上追逐玩家 我正在使用维基百科寻路页面上的简单寻路算法 这涉及创建两个列表 每个列表项包含 3 个整数 这是我尝试构建和显示这样一个列表的测试代码 当我运行以下代码时 它会为 ArrayList
  • R中随机选择一个样本

    我必须找到一种方法从集合 S 中随机选择 R 中的一个样本 集合 S 由 I1 集合中的样本组成 I1 lt c 1 2 3 4 5 6 s1 lt c 1 2 1 s2 lt c 1 5 6 s3 lt c 2 1 1 s4 lt c 5
  • JavaScript 中数组与对象的效率

    我有一个可能包含数千个对象的模型 我想知道存储它们并在获得单个对象的 id 后检索该对象的最有效方法是什么 id 是长数字 这是我正在考虑的两个选择 在选项一中 它是一个带有递增索引的简单数组 在选项 2 中 它是一个关联数组 也可能是一个
  • Spring MVC 控制器,如何在清空表单值时保留 BindingResult 错误

    我有一个使用 Spring MVC 控制器的 Web 表单 该表单由 Spring 验证 当出现验证错误时 Spring 会显示相同的表单 其中预先填写了用户输入的值以及验证错误 出于安全原因 我不希望表单预先填写用户输入的值 但我确实需要
  • 如何从 MVC3/Razor 中的操作获取响应“流”?

    我正在使用 MVC3 NET4 C 我需要使用 Razor 视图创建一些 XHTML 我通过一个动作来做到这一点 public ActionResult RenderDoc int ReportId A new document is cr
  • 升级时的注册表问题

    旧版本的安装程序是使用以下命令创建的InstallScope 每台机器 新版本的目的是InstallScope 每个用户 它还需要使用与旧版本创建的相同的注册表项 问题是 升级过程中这些注册表项下存储的任何值最终都会被旧版本存储的初始值覆盖
  • primefaces 日历:如何动态设置 Mindate

    我有两个 primefaces 日历控件 我希望当我从第一个日历中选择日期时 下一个日历注意日期应该从第一个日历的选定日期开始 例如 我选择了7 5 2013那么下一个日历应该禁用之前的所有日期8 5 2013这是我到目前为止所尝试过的 但
  • 匹配一行中的第 n 个单词

    在我使用的应用程序中 我无法选择比赛组 1 我可以使用的结果是正则表达式的完整匹配 但我需要第 5 个单词 jumps 作为匹配结果 而不是完整的匹配项 The Quick Brown Fox Jumps 4 The quick brown
  • SQL where field in vs. where field = 带有多个 or ?

    就性能而言 使用哪一个更好 关于可读性 可理解性 关于公认的标准 SELECT FROM Wherever WHERE Greeting IN hello hi hey OR SELECT FROM Wherever WHERE Greet
  • ios 上的外部键盘选项卡事件

    我的 iPad 应用程序屏幕之一有多个文本字段 在这几个文本字段上 会生成用于用户输入操作 决策 预填充信息等的弹出窗口 当使用默认的 ipad 键盘时 它工作正常 但是当我们尝试使用带有 Tab 键的外部键盘时 我得到了多个文本字段应该开
  • 用于闪亮 Python 3D 曲面图的 Phong 着色

    我正在尝试在 Python 中使用镜面着色创建美观的 3D 绘图 到目前为止 我已尝试将 Matplotlib 与 Mayavi 的 3D 轴和曲面图一起使用 例如来自 Mayavi surf 示例网页 结果看起来不错 在 Mayavi 中
  • 自动同步 Subversion 存储库和 Git 存储库

    我的项目在网络文件系统上有一个 Subversion 存储库 新团队希望使用 Git 访问它 并能够提交它并从中获取更新 我的想法是创建一个新的裸git svn在同一网络文件系统上克隆 Subversion 存储库 并确保这两个存储库始终彼
  • 如何更改附加到导航视图的子菜单的文本和图标的颜色?

    我试图弄清楚如何更改实际附加到导航视图的子菜单项的颜色 以下代码实际上来自 android studio 中可用的导航抽屉的默认模板 活动 主 抽屉 xml menu menu