我正在阅读一本关于Android开发的书,让我开始编写我的第一个真正的应用程序。 我已经达到了为我的一项活动制作选项菜单的程度。菜单显示,但菜单项的相应图标拒绝显示。 这是菜单的代码:
ReminderListActivity
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater mi = getMenuInflater();
mi.inflate(R.menu.list_menu, menu);
return true;
}
RES /菜单/ list_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/menu_insert"
android:icon="@drawable/menu_add"
android:title="@string/menu_insert" />
</menu>
我已将ic_menu_add.png图标(32x32px)从我的一个Android SDK子文件夹复制到我的res / drawable-mdpi文件夹,并将该文件重命名为menu_add.png。我在eclipse中刷新了文件夹,因此图标显示出来,正如您所看到的,我将其设置为布局文件中菜单项的图标。我尝试在模拟器中运行我的项目几次,但图标永远不会出现。为了记录,我使用的是Android 4.0.3 ..
有什么想法吗?
答案 0 :(得分:29)
在Android 3.0+上,选项菜单(操作栏中的溢出菜单)的首选方法不会显示图标。如果您有android:targetSdkVersion="11"
或更高版本,则Android 3.0+上的菜单中永远不会显示图标。如果您将选项菜单项提升为工具栏按钮,则会显示图标,并且图标将显示在Android 1.x / 2.x设备上。
答案 1 :(得分:5)
这在API 23中非常适用
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<item
android:icon="@drawable/ic_menu"
android:orderInCategory="100"
android:title="Option Menu"
app:showAsAction="always">
<menu>
<item
android:id="@+id/action_myorder"
android:icon="@drawable/ic_order"
android:title="My Order" />
<item
android:id="@+id/action_myaccount"
android:icon="@drawable/ic_account"
android:title="My Account" />
<item
android:id="@+id/action_share"
android:icon="@drawable/ic_share"
android:title="Share" />
<item
android:id="@+id/action_term_condition"
android:icon="@drawable/ic_terms"
android:title="Term and Conditions" />
<item
android:id="@+id/action_logout"
android:icon="@drawable/ic_logout"
android:title="Logout" />
</menu>
</item>
答案 2 :(得分:0)
一个好主意是您使用RelativeLayout
创建了一个布局,当用户选择了您的菜单时,就会显示您的布局。