【发布时间】:2015-10-15 04:58:31
【问题描述】:
我的 android 应用中有一个导航抽屉。我可以通过 XML 向其中添加组和项目,但是,我需要以编程方式向其中添加新组。
例如,我有这个 XML:
<group android:checkableBehavior="single">
<item android:id="@+id/nav_camara" android:icon="@android:drawable/ic_menu_camera"
android:title="Import" />
<item android:id="@+id/nav_gallery" android:icon="@android:drawable/ic_menu_gallery"
android:title="Gallery" />
<item android:id="@+id/nav_slideshow" android:icon="@android:drawable/ic_menu_slideshow"
android:title="Slideshow" />
<item android:id="@+id/nav_manage" android:icon="@android:drawable/ic_menu_manage"
android:title="Tools" />
</group>
如果该组没有项目,我需要通过代码添加它们,我该怎么做?
如果我使用:
Menu sistemas = navigationView.getMenu();
sistemas.add(Menu.FIRST, 1, 0, "Prueba");
该项目作为菜单添加到所有选项下方,而不是作为一个组。
问候, 詹姆
【问题讨论】:
-
我建议您以编程方式所有项目,如 this tutorial 中所建议的那样。
-
sistemas.addSubMenu?是你想做的吗? -
我猜你正在使用
NavigationView。我查看了NavigationView的代码,它不是动态的。它使用菜单资源在初始化时创建视图,然后基本上忽略它。如果您想做任何动态的事情,您需要寻找NavigationView之外的其他解决方案。幸运的是,GitHub 上有很多导航抽屉。我使用android.support.design.internal.ScrimInsetsFrameLayout推出了自己的产品。