概况
Google I/O 2015 给大家带来了Android Design Support Library,其中新添加的控件之一:NavigationView,在添加head布局和menu后的显示如
显示的图标并不是原先设置的图标,而是根据设置的menu图标按照主题颜色进行的再生成,且点击后的颜色也是主题颜色,所以如果你要显示的列表的图标不是纯色的话就会渲染成纯色,比如此图标被渲染成主题纯色
,如果你的图标是纯色的话就不用在意了。
NavigationView的强大之处就在于,它可以根据你所提供的图标渲染成任意的纯色图标,通过在xml文件中修改app:itemIconTint来实现,同样字体颜色可以通过修改app:itemTextColor来实现
不过此时点击后的图标和字体颜色的改变便不起作用了,不过你可以通过如下方法或者属性来改变这一状态:
setItemBackgroundResource(int):给menu设置背景资源,对应的属性app:itemBackground
setItemIconTintList(ColorStateList):给menu的icon设置颜色,对应的属性app:itemIconTint
setItemTextColor(ColorStateList):给menu的item设置字体颜色,对应的属性app:itemTextColor