7

我已经制作了包含一些项目的子菜单。现在我想用子菜单项添加不同的图标。我还将代码应用于添加图标的菜单项,但它没有向我显示图标我的代码是这样的:

public boolean onCreateOptionsMEnu(Menu m) {
    SubMenu s1 = m.addSubMenu("menu1");
    s1.add(0,0,1,"1").setIcon(R.drawable.icon1);
    s1.add(0,1,2,"2").setIcon(R.drawable.icon2);

    return super.onCreateOptionsMenu(m);
}
4

3 回答 3

5

子菜单不支持图标。

https://developer.android.com/guide/topics/ui/menus.html

图标菜单
这是在按下 MENU 键时最初在屏幕底部可见的项目集合。它最多支持六个菜单项。这些是唯一支持图标的菜单项和唯一不支持复选框或单选按钮的菜单项。

于 2012-09-28T06:00:34.557 回答
3

这是标准图标的列表。我没有看到“设置”图标。也许您的意思是“首选项”(ic_menu_preferences)?

您可以像这样以编程方式设置图标:

menu.add(0, MENU_QUIT, 0, "Quit").setIcon(R.drawable.menu_quit_icon);

你也可以像这样在你的 xml 布局中设置它:

<item android:id="@+id/save_button"
  android:icon="@android:drawable/ic_menu_save"
  android:title="Save Image"/>

--在 Android 中创建菜单

于 2012-09-28T05:51:49.910 回答
0

尝试这个:

public boolean onCreateOptionsMenu(Menu m) {
SubMenu s1 = m.addSubMenu("menu1");
s1.add(0,0,1,"1");
s1.add(0,1,2,"2");

MenuItem menuItem = s1.getItem(0);
menuItem.setIcon(R.drawable.icon1);
MenuItem menuItem1 = s1.getItem(1);
menuItem1.setIcon(R.drawable.icon2);

return super.onCreateOptionsMenu(m);
}
于 2018-03-13T08:10:34.320 回答