在单击之前更改导航抽屉项目的颜色

时间:2016-10-14 00:55:20

标签: android navigation-drawer

我正在更改导航抽屉所选项目的颜色,并通过以下代码正常工作

<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"
        app:itemTextAppearance="@style/NavDrawerTextStyle"
        app:menu="@menu/activity_main_drawer"
        app:itemTextColor="@color/nav_item_color"
        android:background="#000000"/>

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

以下是代码行为我做的伎俩

app:itemTextColor="@color/nav_item_color"

来自颜色目录的xml代码

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="#81DDFF" android:state_checked="true" style="@style/NavDrawerTextStyle"/>
    <item android:color="#FFFFFF" style="@style/NavDrawerTextStyle"/>
</selector>

现在我遇到的问题是,当抽屉第一次打开时,我想更改导航抽屉中第一个项目的颜色(在点击与第一个项目相对应的屏幕之前)。

换句话说,如何从活动类中更改单个导航抽屉项目的颜色?谢谢

以下是第一次打开抽屉时的屏幕截图,我希望登录项目的颜色为浅蓝色

点击登录项并再次打开抽屉

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以手动设置选择

navigationView.getMenu().getItem(0).setChecked(true);

或者您可以使用

navigationView.setCheckedItem(menuItemid);