【问题标题】:Writing text on icon of Menu in Android?在 Android 的菜单图标上写文字?
【发布时间】:2010-04-10 10:18:40
【问题描述】:

如果 Android 中的菜单项具有可绘制的图标,我们可以为其设置标题吗?

我有一个菜单项的图标,如果我设置了图标,那么为该菜单项设置的标题将不可见。

这可能吗?

希望尽快得到答复。

问候 苏尼尔

【问题讨论】:

    标签: android menu icons title


    【解决方案1】:

    这绝对是可能的。这样的代码有效:

    public boolean onCreateOptionsMenu(Menu menu){
        menu.add(0, MENU_PAUSE, 0, "Pause").setIcon(R.drawable.pause);
        return true;
    }
    

    这将创建一个菜单,其中包含一个项目,由 int MENU_PAUSE(唯一标识符号)引用,标题为“Pause”,图标从 res/drawable 暂停。

    如果这不适合你,你能告诉我们你的代码吗?


    编辑以提供基于 cmets 的更多信息:

    事实证明,图像的大小很重要。默认的 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 源代码网站提供的默认 stylesthemes 文件找到了此信息

    【讨论】:

    • 您使用的图片尺寸是多少?我有四个菜单项,因此每个图标需要 2 * 2 和一半的屏幕。我也在做同样的事情。如果我不添加图标,则会显示文本。我的图标是 160 * 68。所以它占据了菜单项的所有高度和宽度,因此不显示文本。我们可以在图标顶部显示文本吗?请帮忙。
    • 啊哈,你是对的。所用图像的大小很重要。我没有注意到,因为我使用的是默认的 Android 图像——它们都是 48x48 或更小,所以看起来你必须调整图像的大小。
    • 哦,好的。我们可以将菜单项的颜色从默认的白色更改为其他颜色,然后在其上放置 48 * 48 的图标并在其下方放置文字吗?我们可以这样做吗?如果您对此有任何想法,请告诉我。感谢您的回复。
    • 非常感谢史蒂夫。它解决了我的问题。还有一件事,我们是否也可以更改一行中菜单项的数量。目前它有 2 * 2 结构,因为我有 4 个菜单项。但是,如果我想让它们都排成一排怎么办。那可能吗?无论如何,再次非常感谢。
    • 如果不自定义菜单代码,我认为您无法做到这一点;默认情况下,它会根据您拥有的数量调整按钮的位置/布局。
    【解决方案2】:

    是的,你可以。只需将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:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多