天天看點

NavigationView使用後的限制

概況

 Google I/O 2015 給大家帶來了Android Design Support Library,其中新添加的控件之一:NavigationView,在添加head布局和menu後的顯示如

NavigationView使用後的限制

顯示的圖示并不是原先設定的圖示,而是根據設定的menu圖示按照主題顔色進行的再生成,且點選後的顔色也是主題顔色,是以如果你要顯示的清單的圖示不是純色的話就會渲染成純色,比如

NavigationView使用後的限制

此圖示被渲染成主題純色

NavigationView使用後的限制

,如果你的圖示是純色的話就不用在意了。

               NavigationView的強大之處就在于,它可以根據你所提供的圖示渲染成任意的純色圖示,通過在xml檔案中修改app:itemIconTint來實作,同樣字型顔色可以通過修改app:itemTextColor來實作

NavigationView使用後的限制

不過此時點選後的圖示和字型顔色的改變便不起作用了,不過你可以通過如下方法或者屬性來改變這一狀态:

setItemBackgroundResource(int):給menu設定背景資源,對應的屬性app:itemBackground 

setItemIconTintList(ColorStateList):給menu的icon設定顔色,對應的屬性app:itemIconTint 

setItemTextColor(ColorStateList):給menu的item設定字型顔色,對應的屬性app:itemTextColor