1. 程式人生 > >NavigationView修改字型顏色和預設item

NavigationView修改字型顏色和預設item

1.前言

NavigationView是android5.0以後引進的新控制元件,就是側滑欄,但是策劃欄MenuItem的字型顏色和預設選中項不是很好修改,經過我的摸索,發現字型顏色和預設選中項都是可以修改的。

2.xml檔案

首先在res/color檔案下建立一個selector檔案navigation_menu_item_color.xml,內容如下:

<?xml version="1.0" encoding="utf-8"?>
<selectorxmlns:android="http://schemas.android.com/apk/res/android">
    <
itemandroid:state_checked="true"android:color="@color/colorAccent">
</item> <!-- selected顏色 --> <itemandroid:state_pressed="true"android:color="@color/colorAccent"/> <!-- pressed顏色 --> <itemandroid:state_focused="true"android:color="@color/colorAccent"/> <!-- focused顏色 -->
<itemandroid:color="#FFFFFF"/> <!-- default顏色 --> </selector>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

對應填充自己的顏色就可以了。

3.java程式碼

上面的做完後需要在java程式碼中區設定。

/**設定MenuItem的字型顏色**/
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this
); Resources resource=(Resources)getBaseContext().getResources(); ColorStateList csl=(ColorStateList)resource.getColorStateList(R.color.navigation_menu_item_color); navigationView.setItemTextColor(csl); /**設定MenuItem預設選中項**/ navigationView.getMenu().getItem(0).setChecked(true);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

4.效果

修改前:

修改前

修改後:

這裡寫圖片描述