2016-05-13 65 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

相关问题