0

我是 android 编程新手,我发现该菜单不适用于 android 3.0 及更高版本。建议是使用Action Bar。所以我有以下内容AndroidManifest.xml

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

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="Main"
        android:label="@string/app_name"
        android:configChanges="orientation|keyboardHidden|screenSize"> 

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

在我main.xml的 for 菜单/操作栏中:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/homeMenu"
        android:orderInCategory="100"
        android:title="@string/home" android:showAsAction="ifRoom"/>

    <item
        android:id="@+id/searchMenu"
        android:orderInCategory="200"
        android:title="@string/search" android:showAsAction="ifRoom"/>

    <item
        android:id="@+id/exitMenu"
        android:orderInCategory="300"
        android:title="@string/exit" android:showAsAction="ifRoom"/>

</menu>

但它仅在 Android ICS 的操作栏中显示活动标题。如果可能的话,我想要的是有适用于 Android < 3.0 的菜单和适用于 Android 3.0 及更高版本的操作栏。或者,如果有更好的方法。

onCreateOptionsMenu的主要活动有:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

该菜单非常适用于 Android 2.3.6,但操作栏没有按我对 Android ICS 的预期显示。

谢谢

4

2 回答 2

2

如果你想在 Android 版本中保持一致的外观,你真的应该看看ActionBarSherlock

“该库将在适当时自动使用本机操作栏,或者将自动围绕您的布局包装自定义实现。这使您可以轻松地为 2.x 及更高版本的每个版本的 Android 开发带有操作栏的应用程序。”

于 2013-05-07T08:09:44.150 回答
1

试试这个

android:showAsAction="always"

代替

android:showAsAction="ifRoom"
于 2013-05-07T08:13:56.420 回答