参考链接: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;
}
});

negativeView 的使用的更多相关文章

随机推荐

  1. Android Toast的多功能封装——Android开发之路1

    Android封装实现各种功能的Toast GitHub地址:https://github.com/SibreiaDante/ToastUtils 效果图: 方法封装如下: showSingleton ...

  2. 封装GetQueryString()方法来获取URL的value值(转载)

    首先测试URL:http://192.168.1.82:8020/juzhong/daojishi.html?name=xiangruding&sex=nuuu&age=90 代码如下 ...

  3. [转帖]真TM长的:SQL Server 2008存储结构——GAM和SGAM、PFS结构、IAM结构、DCM&BCM

    谈到GAM和SGAM,我们不得不从数据库的页和区说起. https://blog.csdn.net/snowfoxmonitor/article/details/49991015 一个数据库由用户定义 ...

  4. 无法安装HAXM (VT-X is not turned on)

    安装HAXM的时候,VT-X is not turned on. 进入bios查看,已经启动了vt-x.上网搜索发现解决有一部分电脑是因为安装了Hyper-V,解决的方法: 管理员运行cmd,输入如下 ...

  5. es6 let关键字

    1.let关键字 var arr = [ ]; for(var i=0; i<10; i++){ arr [i] = function(){ alert(i) } } arr [8](); // ...

  6. NULL,"",String.Empty三者在C#中的区别

    (1)NULLnull 关键字是表示不引用任何对象的空引用的文字值.null 是引用类型变量的默认值.那么也只有引用型的变量可以为NULL,如果int i=null,的话,是不可以的,因为Int是值类 ...

  7. Two Sum III - Data structure design

    Design and implement a TwoSum class. It should support the following operations: add and find. add - ...

  8. Java参数引用传递之例外:null

    今天写链表的时候写了一个函数,实参是一个空链表,应该是按引用传参,但是在函数内修改了链表,外部的链表没有变化. 原来是null作为参数传递的时候,就不是引用传参了. 引自:http://blog.cs ...

  9. Day22-Django之Form组件验证

    1. Django里面的Form专门用来做验证. 用Form创建一个类,把用户发来的数据放到request.POST里面发给这个类,这个类会帮忙做验证. 返回3个结果:是否验证成功了,所有的正确信息, ...

  10. C++ STL 常用查找算法

    C++ STL 常用查找算法 adjacent_find() 在iterator对标识元素范围内,查找一对相邻重复元素,找到则返回指向这对元素的第一个元素的迭代器.否则返回past-the-end. ...