安卓系统谁开发的|安卓开发之Android Navigationview解析

更新时间:2020-03-25    来源:安卓教程    手机版     字体:

【www.bbyears.com--安卓教程】

最近在研究侧滑菜单时发现了一些问题,如果你之前没有接触过肯定会去百度,而我也看了很多demo,相信大家看到的例子都是下面那样布局的

headerLayout加载头布局,menu加载菜单,这样就组成了一个完整的菜单,那么问题来了,menu的点击事件网上都贴出来了,很简单,那么头部呢?你可能会无从下手,那么只有看源码了,NavigationView 中有inflateHeaderView这个方法,看到这个方法你肯定就会觉得是通过这个方法加载头布局,好吧,现在方法有了,但是当你通过这个方法加载时会发现菜单中出现了两个头布局,很显然是加载了两次,第一次就是在布局文件中指定了headerLayout,当你滑动菜单时就会加载这个头布局,第二次是你在代码中又加载了一次。所以会出现两个布局。只要将布局中的headerLayout那行代码删除就可以实现你要的效果。下面给出绑定头部布局的代码


//布局文件
android:layout_width="wrap_content"
android:layout_height="match_parent"
andriod:layout_gravity="start"
app:headerLayout="@layout/drawer_header"
app:menu="@menu/drawer"/>
 
//绑定侧滑菜单headerlayout布局,
 
View drawview = nav_view.inflateHeaderView(R.layout.view_leftmenu);
ImageView user_pic = (ImageView) drawview.findViewById(R.id.imag_user_pic);
通过NavigationView 来加载头布局后再进行控件绑定就可以解决问题。

本文来源:http://www.bbyears.com/shoujikaifa/89486.html

热门标签

更多>>

本类排行