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(); } }); }
茶杯头甜蜜终章dlc 官方手机版v1.0.0.3
下载火柴人传说暗影格斗内置菜单 最新版v3.0.1
下载荒野乱斗测试服 安卓版v61.10.3
下载荒野乱斗彩虹服 安卓版v61.10.3
下载寒霜启示录 安卓版v1.25.10
寒霜启示录是一款生存模拟游戏,不少玩家可能对于末日都有着自己
末日城堡免广告版 安卓最新版v0.7.1
末日城堡免广告版是一款非常好玩的模拟经营类游戏,内部可以不看
甜蜜人生模拟器 最新版v1.4.5
甜蜜人生模拟器是一款非常好玩的模拟恋爱手游,玩家在这里能够对
武器锻造师内置功能菜单 v10.4
武器锻造师内置菜单版是游戏的破解版本,在该版本中为玩家提供了
开放空间overfield 安卓版v1.0.5
开放空间Overfield是一款箱庭养成经营手游,让你在广阔