NavigationView头部设置监听事件的方法,供大家参考,具体内容如下
1、将XML里的静态引入删除:
2、在代码里 findViewById 找到 NavigationView,然后引入 Header 和 Menu,再获取头部布局,最后设置监听事件:
//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的监听事件 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); //设置监听事件 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(); } }); }
热血大作战 安卓最新版v2.1.166
下载凡尔赛法环免广告版 最新版v1.69.1
下载天煞异种 安卓版v1.0.21
下载十三月 (Undecember)最新官方中文版v3.26.0200
下载星露谷物语sve 安卓版v1.5.6.52
星露谷物语sve手机版是游戏的超大拓展Mod内容,全称Sta
动物园大亨 手机版v2.0
动物园大亨是一款模拟动物园经营的休闲放置游戏,采用了卡通画风
蜜蜂园林钞票不减反增版 v0.1.68
蜜蜂园林无限道具版是游戏的破解版本,在该版本中为玩家提供了足
幻想熔炉失落帝国的世界 安卓版v2.16.2
幻想熔炉失落帝国的世界是一款魔法卡通风格的城市模拟经营类游戏
我的女友是声优免广告 安卓版v1
我的女友是声优免广告是一款非常好玩的模拟经营类手游,玩家在游