17

Android 開発に関する本を読んで、最初の実際のアプリを書き始めています。アクティビティの 1 つのオプション メニューを作成するところまで来ました。メニューは表示されますが、メニュー項目の対応するアイコンが表示されません。メニューのコードは次のとおりです。

リマインダー リスト アクティビティ

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

res/menu/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>

Android SDK サブフォルダーの 1 つから ic_menu_add.png アイコン (32x32px) を res/drawable-mdpi フォルダーにコピーし、ファイルの名前を menu_add.png に変更しました。アイコンが表示されるようにEclipse内のフォルダーを更新しました。ご覧のとおり、レイアウトファイルのメニュー項目のアイコンとして設定しました。エミュレータでプロジェクトを数回実行しようとしましたが、アイコンが表示されません。記録のために、私は Android 4.0.3 を使用しています。

何か案は?

4

3 に答える 3

32

Android 3.0以降では、オプションメニュー(アクションバーのスピルオーバーメニュー)の推奨されるアプローチではアイコンが表示されません。持っているandroid:targetSdkVersion="11"かそれ以上の場合、Android3.0以降のメニューにアイコンが表示されることはありません。オプションメニュー項目をツールバーボタンに昇格させるとアイコンが表示され、Android 1.x/2.xデバイスでアイコンが表示されます。

于 2012-01-18T13:13:36.330 に答える
8

これは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>

于 2016-05-27T06:32:24.603 に答える
0

RelativeLayoutでレイアウトを作成し、ユーザーがメニューを選択すると、レイアウトが表示されることをお勧めします。

于 2014-02-23T15:51:09.227 に答える