显示Android操作栏

时间:2013-05-07 07:42:34

标签: android android-actionbar android-menu

我是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菜单/操作栏中:

<?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的菜单&lt;适用于Android 3.0及更高版本的3.0和Action Bar。或者,如果有更好的方法。

我的主要活动中有onCreateOptionsMenu

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

该菜单适用于Android 2.3.6,但Action Bar未按预期显示Android ICS。

由于

2 个答案:

答案 0 :(得分:2)

如果您希望在Android版本中保持一致的外观,那么您应该查看ActionBarSherlock

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

答案 1 :(得分:1)

试试这个

android:showAsAction="always"

而不是

android:showAsAction="ifRoom"