NavigationView踏过的坑
在看了Material design相关的Demo后,感觉颜色搭配实在是太炫丽了,忍不住想立即动手实践一下,刚好公司技术总监提议要求开发的项目全部换成Material design风格的样式,于是就去github上各种找相关的控件去实现相关功能,让其更加绚丽,可是在使用时也遇到不少的问题,可能也是第一次使用的缘故吧,首先说一下在做侧滑菜单栏时,遇到了一个问题,Google为了满足开发者的需求,给我们推出了DrawerLayout来替换SlideMenu,同时建议我们使用NavigationView结合DrawerLayout,这样会使你的布局看起来更加简洁,模块化更加清晰,确实很不错,但是在使用时,确遇到了一个问题,先看如下图:
是不是感觉界面很简洁,整个侧滑菜单栏分成两部分,上边带颜色的个人信息部分和下边的菜单栏部分,在使用时个人信息部分,是根据用户的信息动态变化的,这时问题来了,本以为他像普通控件一样,直接findViewById就可以拿到对其操作了,可是事实并非如此,如何是我在项目中的使用,先声明一个View,通过NavigationView的getHeaderView的方法拿到个人用户信息部分的view然后再去对应的操作,这是我遇到的一点小问题,如下是整个使用,希望对遇到同样问题的人有所帮助。
View headerView =navigationView.getHeaderView(0);
TextView tv_name= (TextView) headerView.findViewById(R.id.tv_stuMenuName); tv_name.setText(""+new SysPref(this).getUserName()); ImageView iv_icon= (ImageView) headerView.findViewById(R.id.iv_stuIcon); iv_icon.setImageResource(R.drawable.man_icon);
最后提供Material design中文官方网站:点击打开链接