當前位置:
首頁 > 知識 > NavigationView的頭部的事件監聽

NavigationView的頭部的事件監聽

現在App的UI設計中Drawerlayout+NavigationView是一個比較常用的設計了,而以前我一般只是在Navigation中的menu(即下部的item中)添加事件監聽,而今天碰到一個需要是要在header中增加事件監聽。

需求如下:點擊圖片,在底部彈出一個彈出窗口。

NavigationView的頭部的事件監聽

側邊導航欄布局:


android:id="@+id/nav_view"

android:layout_width="wrap_content"

android:layout_height="match_parent"

android:layout_gravity="start"

app:headerLayout="@layout/nav_header_main"

app:menu="@menu/menu_nav"

/>

android:layout_width="match_parent"

android:layout_height="180dp"

android:padding="10dp"

android:background="?attr/colorPrimary">

android:layout_width="70dp"

android:layout_height="70dp"

android:id="@+id/account"

android:src="@drawable/ic_account"

android:layout_centerInParent="true" />

android:id="@+id/qianming"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentBottom="true"

android:layout_centerInParent="true"

android:textSize="16sp"

android:text="學好英語走遍天下"

/>

那顯然我們得要獲取到這個image的id,從而給它設置點擊事件監聽。

然而,當我用ButterKnife去綁定它的時候,直接就報錯了

NavigationView的頭部的事件監聽

也對,這個時候側邊欄還沒有打開

接下來我就想著要在側邊欄打開的情況下去獲取到這個id,怎麼監聽側邊欄是否打開呢,我嘗試了這個方法

NavigationView的頭部的事件監聽

(竊喜),在onDrawerOpened中寫入進行一波findViewById操作應該就可以了吧。

然並卵。。。

點擊頭像毫無反應。

最後,那我們就不在xml中靜態導入header了還不行嗎,我們直接在代碼中直接導入header的布局,然後再來獲取它裡面圖片的id,並為其設置事件監聽,終於KO。

此處需要刪除原先的這一行:

app:headerLayout="@layout/nav_header_main"


android:id="@+id/nav_view"

android:layout_width="wrap_content"

android:layout_height="match_parent"

android:layout_gravity="start"

app:menu="@menu/menu_nav"

/>

onCreate()中加入下面代碼:


View drawerView = navigationView.inflateHeaderView(R.layout.nav_header_main);

CircleImageView account = (CircleImageView) drawerView.findViewById(R.id.account);

account.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

bottomPopupOption = new BottomPopupOption(TabHostActivity.this);

bottomPopupOption.setItemText("拍照","選擇相冊");

bottomPopupOption.showPopupWindow();

}

});

最終的效果圖:

NavigationView的頭部的事件監聽



NavigationView的頭部的事件監聽


更多優質內容推薦:

體驗別樣旅遊感受 中公教育推出全新互聯網+北京游,零利潤體驗10天9晚帝都風情:

http://www.ujiuye.com/zt/qgsqxly/?wt.bd=zdy35845tt

有錢任性,某公司豪擲500萬幫助20左右年輕人找工作,起因是做善良的人:

http://www.ujiuye.com/zt/jyfc/?wt.bd=zdy35845tt

學安卓,免學費!50天興趣課程等你來搶!

http://www.ujiuye.com/xydt/2017/13042.html?wt.bd=zdy35845tt

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT優就業 的精彩文章:

ASP.NET Core 四種釋放 IDisposable 對象的方法
測試|只有聰明人才看得出來的6張圖, 你能看出來嗎?

TAG:IT優就業 |

您可能感興趣

Android如何實現帶有粘性頭部的ScrollView
Miriam Stoppard博士:撞擊頭部會導致痴呆症
網格交易的頭部玩家,BitUniverse到底怎麼樣?
HungerGame:幣圈交易所的頭部之爭
印度物流哪家強?通過財務數據拆解頭部玩家BlackBuck和Rivigo
3.19 VR掃描:Oculus Go或將於F8大會正式發布;Magic Leap專利,根據頭部位置檢測聲音
ionic 頭部和底部
ionic 頭部與底部
頭部掛件廠再出大作 Sacai聯名BeatsX耳機你愛上了嗎?
VR遊戲Arcas Path發布,只需頭部控制,玩法簡單有趣
Nx頭部追蹤器助你「超神」,1MORE Spearhead VRX開箱測
Nx頭部追蹤器助你「超神」,1MORE Spearhead VRX開箱測評
VR遊戲《Arca』s Path》發布,只需頭部控制,玩法簡單有趣
vivoNEX和OPPO FindX維修價格出爐,攝像頭部分不是最貴的!
資訊:壽屋 MSG系列 MechaSupply 12 自定義頭部A
不是google,更不是Tesla,這家汽車零部件廠竟佔據無人駕駛專利的頭部
Nike Air Max 1加入今年「N7」系列的先頭部隊
Magic Leap申請「空間音頻」專利,用頭部位置檢測聲音
非封閉性真無線耳機,支持頭部手勢,Xperia Ear Duo上手體驗
Magic Leap One的輸入方式有哪些?眼球追蹤、手勢控制、語音交互、6DoF控制器、頭部姿態