gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:36:14 25 4
gpt4 key购买 nike

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

activity_main_drawer.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>

activity_main.xml

    <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>

因此,您可以看到我在下面附上的结果图片:- Color of Sub-Menu Items didn't change

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

最佳答案

在导航 View 中更改标题和副标题的颜色并将以下代码粘贴到您的res>values>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"/>

输出将是, enter image description here

就这些,快乐的编码。

关于android - 如何更改附加到导航 View 的子菜单的文本和图标的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32994329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com