我一直在摆弄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>
获得相同的结果。我有一张照片,但它不会让我发布它因为我是新的。
答案 0 :(得分:1)
在您的菜单文件中,将https://schemas.android.com/apk/res/android
替换为http://schemas.android.com/apk/res/android
( https - &gt; http )。所以看起来错误是由于错误的架构地址造成的。
答案 1 :(得分:1)
也许图标太大了。如果您在hdpi屏幕上使用超过48x48的图标,则用户将看不到标题或看到截断的标题。
请参阅http://developer.android.com/guide/practices/ui_guidelines/icon_design_menu.html#size9
答案 2 :(得分:1)
我必须为每个项目指定一个带android:icon="@null"
的图标,然后显示标题。如果使用工具栏,则此方法有效。
答案 3 :(得分:0)
我们可以直接添加这样的菜单项,它对我来说很好用
@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;
}