我有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