2016-05-13 58 views
0

我有navigationViewheaderLayoutmenu附加到它。我沒有使用這個庫的任何一個。 我試圖用谷歌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; 
     } 
    }); 

} 

ImageHeader

回答

0

退房這個庫https://github.com/mikepenz/MaterialDrawer

材料抽屜庫很容易,靈活(絕對無限制),您可以利用預定義的類。

您可以使用此庫在幾分鐘內設置材料抽屜。

或者如果你想用你自己的方式使用它。您可以創建兩個組,並在單擊標題視圖中的箭頭按鈕時在每個組上執行隱藏/顯示。

//編輯

用於隱藏和顯示該組

https://stackoverflow.com/a/37202286/5028508

+0

我已經下載了一個,我不希望使用它。保存文件大小。但我會嘗試隱藏和展示的方法。我將再次檢查該功能是否存在。 – RoCk

+0

檢查編輯@RoCk – Killer

+0

我試圖執行那一個:) – RoCk

相關問題