【问题标题】:Android Menu Item Title not displayingAndroid菜单项标题不显示
【发布时间】:2010-09-21 20:09:03
【问题描述】:

我一直在摆弄android,我一直在关注菜单示例,它运行得几乎很好,但是菜单项的“标题”字段没有显示。

我认为这与这个问题有关: https://stackoverflow.com/questions/3286093/android-menu-item-not-showing-text 但我不确定他的回答是什么意思。

无论如何,它正确地知道我有 2 个菜单项,它只是不显示文本。我不太确定错误出在哪里,并且认为额外的眼睛会很好。

XML:

<?xml version="1.0" encoding="UTF-8"?>
<menu xmlns:android="https://schemas.android.com/apk/res/android">
 <item android:id="@+id/options"
  android:title="@string/main_options" />
 <item android:id="@+id/options2"
  android:title="@string/main_options2" />
</menu>

充气机:

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.main_menu, menu);
        return true;
    }

如果还需要什么,请告诉我。

编辑: 字符串文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World!</string>
    <string name="app_name">LifeInColor</string>
 <string name="main_options">Options</string>
 <string name="main_options2">Something goes here</string>
</resources>

将 xml 更改为:

 <?xml version="1.0" encoding="UTF-8"?>
    <menu xmlns:android="https://schemas.android.com/apk/res/android">
     <item android:id="@+id/options"
      android:title="@string/main_options" />
     <item android:id="@+id/options2"
      android:title="Something goes here" />
    </menu>

得到相同的结果。我有一张照片,但它不允许我发布它,因为我是新人。

【问题讨论】:

  • 你能显示你的字符串文件吗?您是否尝试使用显式字符串值? (不是推荐的,只是作为测试..)
  • 代码编辑到第一篇文章中。
  • 我没有看到任何明显的错误:/ 我假设你读到了这个:developer.android.com/guide/topics/ui/menus.html 你可以尝试在 inflate 后放置一个断点来查看菜单对象的样子..
  • 这就是我一直在关注的。它几乎是从中复制和粘贴的。我添加了一个断点并在膨胀(@返回)之后逐步执行它,并查看“menu”,然后查看“mItems”(我假设是菜单项),两个菜单项的“mTitle”设置为“null "
  • 您再次确认您正在加载正确的菜单文件?如果在菜单项中添加图标会怎样?

标签: android menu title


【解决方案1】:

在您的菜单文件中,将 https://schemas.android.com/apk/res/android 替换为 http://schemas.android.com/apk/res/android (https -> http)。所以看起来错误是由于不正确的架构地址造成的。

【讨论】:

  • 你不应该问题不那么明显:)
【解决方案2】:

可能图标太大了。如果您在 hdpi 屏幕上使用超过 48x48 的图标,用户将看不到标题或看到被截断的标题。

http://developer.android.com/guide/practices/ui_guidelines/icon_design_menu.html#size9

【讨论】:

    【解决方案3】:

    我必须为每个项目指定一个带有android:icon="@null"的图标,然后显示标题。这在使用工具栏时有效。

    【讨论】:

    • 这可能很奇怪,但这也对我有用。省略图标标记根本没有显示任何内容,设置特定图标会省略文本。将其设置为 @null 会显示文本。
    【解决方案4】:

    我们可以直接添加这样的菜单项,它对我来说很好用

           @Override
            public boolean onCreateOptionsMenu(Menu menu) 
               {
            // TODO Auto-generated method stub
                 super.onCreateOptionsMenu(menu);
                 MenuItem item1=menu.add(0, 4, 0,"text1");
                item1.setIcon(R.drawable.car);
                MenuItem item2=menu.add(0, 0, 0, "text2");
                 item2.setIcon(R.drawable.share);
                MenuItem item3=menu.add(0, 2, 0, "text3");
               item3.setIcon(R.drawable.history);
               MenuItem item4=menu.add(0, 3, 0, "text4");
               item4.setIcon(R.drawable.settings);
        return true;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多