Android NavigationView頭部設置監(jiān)聽事件
更新時間:2017年10月12日 15:04:16 作者:Shengjie
這篇文章主要為大家詳細介紹了Android NavigationView頭部設置監(jiān)聽事件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
NavigationView頭部設置監(jiān)聽事件的方法,供大家參考,具體內容如下
1、將XML里的靜態(tài)引入刪除:
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="start" />
<!--刪除下面兩行-->
<!--app:headerLayout="@layout/nav_header"-->
<!--app:menu="@menu/nav_menu"-->
2、在代碼里 findViewById 找到 NavigationView,然后引入 Header 和 Menu,再獲取頭部布局,最后設置監(jiān)聽事件:
//findviewbyid navigationView = (NavigationView) findViewById(R.id.nav_view); //引入header和menu navigationView.inflateHeaderView(R.layout.nav_header); navigationView.inflateMenu(R.menu.nav_menu); //獲取頭部布局 View navHeaderView = navigationView.getHeaderView(0);
3、完整代碼如下:
private void initNavigation() {
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
navigationView = (NavigationView) findViewById(R.id.nav_view);
//引入header和menu
navigationView.inflateHeaderView(R.layout.nav_header);
navigationView.inflateMenu(R.menu.nav_menu);
//設置menu的監(jiān)聽事件
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.add_city:
//啟動
startActivityForResult(new Intent(MainActivity.this, CityPickerActivity.class),
REQUEST_CODE_PICK_CITY);
drawerLayout.closeDrawers();
break;
case R.id.setting:
Intent SettingIntent = new Intent(MainActivity.this, SettingActivity.class);
startActivity(SettingIntent);
drawerLayout.closeDrawers();
break;
case R.id.about:
Intent aboutIntent = new Intent(MainActivity.this, aboutActivity.class);
startActivity(aboutIntent);
drawerLayout.closeDrawers();
break;
}
return false;
}
});
//獲取頭部布局
View navHeaderView = navigationView.getHeaderView(0);
//設置監(jiān)聽事件
icon_image = (CircleImageView) navHeaderView.findViewById(R.id.icon_image);
icon_image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialog.show();
}
});
//讀取頭像
Utility.getImageFromShare(this, icon_image);
//dialog
dialog = new CustomDialog(this, 100, 100, R.layout.dialog_photo, R.style.Theme_dialog,
Gravity.BOTTOM, R.style.pop_anim_style);
//屏幕外點擊無效
dialog.setCancelable(false);
btn_camera = (Button) dialog.findViewById(R.id.btn_camera);
btn_camera.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
toCamera();
}
});
btn_picture = (Button) dialog.findViewById(R.id.btn_picture);
btn_picture.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
toPicture();
}
});
btn_cancel = (Button) dialog.findViewById(R.id.btn_cancel);
btn_cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialog.dismiss();
}
});
}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Android開發(fā)之WebView輸入框提示解決辦法
在做webview應用時,當輸入的文字過多時,輸入的提示箭頭會移動到輸入框外,怎么解決這個問題呢?下面小編給大家介紹Android開發(fā)之WebView輸入框提示解決辦法,一起看看吧2016-06-06
Android 中RecycleView實現item的點擊事件
這篇文章主要介紹了Android 中RecycleView實現item的點擊事件的相關資料,需要的朋友可以參考下2017-03-03
Android編程調用系統自帶的拍照功能并返回JPG文件示例【附demo源碼下載】
這篇文章主要介紹了Android編程調用系統自帶的拍照功能并返回JPG文件,結合實例形式分析了Android的拍照功能調用及圖形文件操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-07-07

