DrawerLayout中菜单栏和主界面点击失效的原因

来源:互联网 发布:linux中安装anaconda 编辑:程序博客网 时间:2024/05/18 04:16

最近使用了下DrawerLayout框架,发现在studio创建页面就有这个封装好的,所以我就直接创建现成的了,结果好多问题,其中就有

1、不能用ButterKnife的插件来控制主界面和菜单栏的点击事件。

原因是不支持插件的初始化,如果使用了插件的初始化会报空指针异常,只能用最原始的findViewById()的方式来进行初始化操作。

2、在创建好的菜单栏布局最外层是用控件NavigationView来包裹的,我们可能需要自定义该菜单栏里面的布局,所以在进去改变了布局后发现无法实现点击,怎么点都没用

原因是创建的框架上默认把属性加上了
app:headerLayout="@layout/nav_header_main"
如下图中的红色选区代码:

这里写图片描述

我们需要做的是删除该属性,并且在初始化之前做如下代码处理
//菜单栏初始化View  view = navView.inflateHeaderView(R.layout.nav_header_main);//所有侧滑的菜单栏需要引用该view下的初始化数据,不然报NULLrl_musicRadar = (RelativeLayout) view.findViewById(R.id.rl_musicRadar);//自定义的控件名

特发此篇,以此加固记忆!

原创粉丝点击