我试图弄清楚如何更改实际附加到导航视图的子菜单项的颜色。以下代码实际上来自 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 :-
颜色不适用于子菜单,所以,我想做的是..我想更改菜单项“通信”和子菜单项“发送”和“共享”的颜色,因为它适用于根菜单项
更改导航视图中标题和副标题的颜色并将以下代码粘贴到您的资源>值>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,
就这样,快乐编码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)