最近使用了下DrawerLayout框架,发现在studio创建页面就有这个封装好的,所以我就直接创建现成的了,结果好多问题,其中就有
1、不能用ButterKnife的插件来控制主界面和菜单栏的点击事件。
原因是不支持插件的初始化,如果使用了插件的初始化会报空指针异常,只能用最原始的findViewById()的方式来进行初始化操作。
2、在创建好的菜单栏布局最外层是用控件NavigationView来包裹的,我们可能需要自定义该菜单栏里面的布局,所以在进去改变了布局后发现无法实现点击,怎么点都没用
原因是创建的框架上默认把属性加上了
app:headerLayout="@layout/nav_header_main"
如下图中的红色选区代码:
我们需要做的是删除该属性,并且在初始化之前做如下代码处理
//菜单栏初始化
View view = navView.inflateHeaderView(R.layout.nav_header_main)
rl_musicRadar = (RelativeLayout) view.findViewById(R.id.rl_musicRadar)
特发此篇,以此加固记忆!