####NavigationView的样式
- 最大宽度
<android.support.design.widget.NavigationView android:maxWidth="300dp" />
- Item的高度
<!-- 高版本 -->
<style name="ItemHeight">
<item name="android:listPreferredItemHeightSmall">25dp</item>
</style>
<!-- 低版本 -->
<style name="ItemHeight">
<item name="listPreferredItemHeightSmall">25dp</item>
</style>
<android.support.design.widget.NavigationView app:theme="@style/ItemHeight" />
- 图标颜色
<!--color_set.xml-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:color="@color/color1"/>
<item android:color="@color/color2" />
</selector>
<android.support.design.widget.NavigationView app:itemIconTint="@drawable/color_set" />
- Item字体颜色
<android.support.design.widget.NavigationView app:itemTextColor="@color/text_color" />
- Item字体样式
<android.support.design.widget.NavigationView app:itemTextAppearance="@style/text" />
- item背景
<android.support.design.widget.NavigationView app:itemBackground="@color/background" />
NavigationView与ActionView
从API 23起,NavigationView的MenuItem支持ActionView。 1.定义ActionView的布局文件layout/action_view.xml。
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
2.在菜单文件menu/drawer_menu中给MenuItem添加ActionView。
<item app:actionLayout="@layout/action_view" />
或者在代码中设置
TextView textView = new TextView(getActivity());
MenuItemCompat.setActionView(item, textView);
3.设置ActionView。
TextView view = (TextView) navigationView.getMenu().findItem(itemId).getActionView();
view.setText(...);