如果它有一个来自drawable的图标,我们可以为Android中的菜单项设置标题吗?
我有一个菜单项的图标,如果我设置了图标,那么为该菜单项设置的标题是不可见的。
这可能吗?
希望尽快得到答复。
问候苏尼尔
这绝对是可能的。像这样的代码有效:
public boolean onCreateOptionsMenu(Menu menu){
menu.add(0, MENU_PAUSE, 0, "Pause").setIcon(R.drawable.pause);
return true;
}
这将创建一个菜单,其中包含一个项目,由 int MENU_PAUSE(唯一标识符号)引用,标题为“Pause”,图标从 res/drawable 暂停。
如果这不适合你,你能告诉我们你的代码吗?
编辑以根据评论提供更多信息:
事实证明,图像的大小很重要。默认的 Android 菜单图像是 48*48 或更小,因此看起来也必须使用类似的尺寸。注意:我没有尝试不同的屏幕尺寸,这仅适用于 320x480 屏幕。
另一种方法是更改菜单的默认背景。这些可以通过在清单中为您的应用程序设置主题然后放入以下行来修改:
<item name="android:panelBackground">@drawable/yourMenuDrawable</item>
<item name="android:panelFullBackground">@drawable/yourOtherMenuDrawable</item>
普通菜单使用 panelFullBackground,所以它应该是您首先替换的菜单。您可以在您的SDKfolder/platforms/xxx/data/res/ 中找到Android 使用的默认图像,它们被称为menu_background.9.png 和menu_background_fill_parent_width.9.png。
我通过查看Android 源代码网站提供的默认样式和主题文件找到了这些信息
是的你可以。只需添加withText
到android:showAsAction
属性。例子:
<item android:id="@+id/menu_save"
android:icon="@drawable/ic_menu_save"
android:title="@string/menu_save"
android:showAsAction="ifRoom|withText" />
有关更多详细信息,请参阅https://developer.android.com/guide/topics/ui/actionbar.html :)