天天看點

NavigationView使用時遇到的問題

NavigationView踏過的坑

在看了Material design相關的Demo後,感覺顔色搭配實在是太炫麗了,忍不住想立即動手實踐一下,剛好公司技術總監提議要求開發的項目全部換成Material design風格的樣式,于是就去github上各種找相關的控件去實作相關功能,讓其更加絢麗,可是在使用時也遇到不少的問題,可能也是第一次使用的緣故吧,首先說一下在做側滑菜單欄時,遇到了一個問題,Google為了滿足開發者的需求,給我們推出了DrawerLayout來替換SlideMenu,同時建議我們使用NavigationView結合DrawerLayout,這樣會使你的布局看起來更加簡潔,子產品化更加清晰,确實很不錯,但是在使用時,确遇到了一個問題,先看如下圖:

NavigationView使用時遇到的問題

是不是感覺界面很簡潔,整個側滑菜單欄分成兩部分,上邊帶顔色的個人資訊部分和下邊的菜單欄部分,在使用時個人資訊部分,是根據使用者的資訊動态變化的,這時問題來了,本以為他像普通控件一樣,直接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中文官方網站:點選打開連結

繼續閱讀