十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
今天就跟大家聊聊有关Android中怎么利用NavigationView头部设置监听事件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
鼎城网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、自适应网站建设等网站项目制作,到程序开发,运营维护。创新互联公司2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。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(); } }); }
看完上述内容,你们对Android中怎么利用NavigationView头部设置监听事件有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。