2

Android アプリケーションに関しては、私はまったくの初心者です。我慢してください。メニュー オプション バーを作成しようとしていますが、どういうわけかアイコンが表示されません。

私はstackoverflowでこの質問への回答を探していましたが、出くわした答えは「Android 3.0以降では、オプションメニュー(アクションバーのスピルオーバーメニュー)の推奨されるアプローチではアイコンが表示されません。Android targetSdkVersionがある場合11 以上の場合、アイコンは Android 3.0+ のメニューに表示されません。オプション メニュー項目をツールバー ボタンにプロモートするとアイコンが表示され、Android 1.x/2.x ではアイコンが表示されます。デバイス。」申し訳ありませんが、それが何を意味するのかわかりません。誰かが私を正しい方向に向けることができますか? どんな助けでも大歓迎です!

何が間違っているのかわかりません。これまでの私のコードは次のとおりです。

MainActivity.java

package com.example.useoptionsmenu;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case R.id.about:
    startActivity(new Intent(this, About.class));
    return true;
    case R.id.help:
    startActivity(new Intent(this, Help.class));
    return true;
    default:
    return super.onOptionsItemSelected(item);
    }
}

}

main.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
    android:id="@+id/action_settings"
    android:orderInCategory="100"
    android:showAsAction="never"
    android:title="@string/action_settings"/>
<item
    android:id="@+id/about"
    android:showAsAction="always"
    android:orderInCategory="1"
    android:icon="@drawable/ic_action_about"
    android:title="About"/>
<item
    android:id="@+id/help"
    android:showAsAction="always"
     android:orderInCategory="2"
    android:icon="@drawable/ic_action_help"
    android:title="Help"/>

</menu>

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.useoptionsmenu"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="18" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.useoptionsmenu.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.example.useoptionsmenu.About"
        android:label="@string/title_activity_about" >
    </activity>
    <activity
        android:name="com.example.useoptionsmenu.Help"
        android:label="@string/title_activity_help" >
    </activity>
</application>

</manifest>
4

1 に答える 1

0

これをヘッダーに表示するアイテムに追加する必要があります。

    android:showAsAction="ifRoom"

あなたのメニューが次のようになるように:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
    android:id="@+id/action_settings"
    android:orderInCategory="100"
    android:showAsAction="ifRoom"
    android:title="@string/action_settings"/>
<item
    android:id="@+id/about"
    android:showAsAction="ifRoom"
    android:orderInCategory="1"
    android:icon="@drawable/ic_action_about"
    android:title="About"/>
<item
    android:id="@+id/help"
    android:showAsAction="ifRoom"
     android:orderInCategory="2"
    android:icon="@drawable/ic_action_help"
    android:title="Help"/>

</menu>

ヘッダーに表示しない項目から android:showAsAction="ifRoom" の行を削除します。

于 2013-11-24T17:45:16.160 に答える