我有navigationView
headerLayout
和menu
附加到它。我没有使用这个库的任何一个。 我试图用谷歌navigationView
达到同样的效果,但区别在于,不改变帐户,而是查看额外/隐藏命令(如果用户是管理员,则用于管理员端)。如何以编程方式更改NavigationView菜单
如何添加/膨胀这个东西?我有两个menu's
。我试图做到这一点,但我得到的是,它自我复制。导致navigationView
具有相同的图标和名称。我创建了两种方法,在点击图像按钮时调用它们。
这里是我的代码:MainActivity.java
public void changeNavigationDrawer(){
mNavigationView = (NavigationView) findViewById(R.id.navigation_view);
mNavigationView.setItemIconTintList(null);
mNavigationView.getMenu();
mNavigationView.inflateMenu(R.menu.navigation_drawer);
mNavigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
menuItem.setChecked(true);
mDrawerLayout.closeDrawers();
int id = menuItem.getItemId();
switch (id){
//Nav list no 1 is User Profile
//Nav list no 2
case R.id.my_friends:
Intent intent_friends = new Intent(MainActivity.this,CommunityFriendsActivity.class);
startActivity(intent_friends);
finish();
break;
//Nav list no 3
case R.id.my_feeds:
//BY DEFAULT YOU'RE in the FEEDS SECTION
break; }
return true;
}
});
}
在同一个文件的另一种方法:
public void adminNavigationDrawer(){
mNavigationView = (NavigationView) findViewById(R.id.navigation_view);
mNavigationView.setItemIconTintList(null);
mNavigationView.inflateMenu(R.menu.navigation_drawer_admin);
mNavigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id){
}
return true;
}
});
}
我已经下载了一个,我不希望使用它。保存文件大小。但我会尝试隐藏和展示的方法。我将再次检查该功能是否存在。 – RoCk
检查编辑@RoCk – Killer
我试图执行那一个:) – RoCk