negativeView 的使用

时间:2022-08-24 20:54:51

参考链接:http://blog.csdn.net/u012702547/article/details/51253222

1.一般来讲,是配合drawerLayout使用的,在xml文件中声明,其中layout_gravity,是drawerlayout中的

<android.support.design.widget.NavigationView
android:id="@+id/home_activity_drawer_drawer"
android:layout_width="300dp"
android:layout_height="match_parent"
android:layout_gravity="start"
app:menu="@menu/activity_home_drawer"> </android.support.design.widget.NavigationView>

2.在res中新建menu文件夹,在menu文件夹下,新建

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<!--<group android:id="@+id/g1">-->
<item
android:id="@+id/home_activity_drawer_alarm"
android:icon="@drawable/alarm_icon"
android:title="@string/home_activity_drawer_alarm"/>
<!--</group>-->
<!--<group android:id="@+id/g2">-->
<item
android:id="@+id/home_activity_drawer_backlight"
android:icon="@drawable/backlight_setting_icon"
android:title="@string/home_activity_drawer_backlight"/>
<!--</group>-->
<!--<group android:id="@+id/g3">-->
<item
android:id="@+id/home_activity_drawer_about_us"
android:icon="@drawable/about_us_icon"
android:title="@string/home_activity_drawer_about_us"/>
<!--</group>-->
<!--<group android:id="@+id/g4">-->
<item
android:id="@+id/home_activity_drawer_device"
android:icon="@drawable/device_icon"
android:title="@string/home_activity_drawer_device"
/>
<!--</group>-->
<!--<group android:id="@+id/g5">-->
<item
android:id="@+id/home_activity_drawer_user_profile"
android:icon="@drawable/user_profile_icon"
android:title="@string/home_activity_drawer_user_profile"/>
<!--</group>--> </menu>

每一个item,用group包裹,并声明id,可添加分割线, group有一个

 android:checkableBehavior=""
//三种选择
//sigle 单选
//all 复选
//none 没有可复选性

这样做出的图标是灰色的,设置图标非灰色

NavigationView navigationView = (NavigationView) findViewById(R.id.navigation_view);
navigationView.setItemIconTintList(null);

1.app:itemBackground="@color/colorAccent"设置每一个item的背景颜色

2.app:itemTextColor=""设置item的背景颜色

头部点击事件,首先获得头部的View

 View headerView = navigationView.getHeaderView(0);  

然后,正常处理点击事件即可

item点击事件

navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem item) {
//在这里处理item的点击事件
return true;
}
});