1

我的 manifest.xml 部分如下:

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="14" />
<activity android:name="MyActivity" android:screenOrientation="sensor" android:configChanges="orientation|keyboardHidden" android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" ></activity>

在 MyActivity 代码中如下:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onPrepareOptionsMenu(Menu menu) {    
    menu.clear();

MenuInflater i = getMenuInflater();
i.inflate(R.menu.my_menu, menu);

return super.onPrepareOptionsMenu(menu);

}

my_menu.xml 如下:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/test" android:icon="@drawable/test" android:title="test" android:showAsAction="ifRoom|withText"></item>
</menu>

我想让 sdk 在 11 之前显示旧菜单栏。在 sdk 11
之后显示操作栏。
现在我可以在 sdk 11 之前显示菜单栏,但在 sdk 11 之后不显示软菜单按钮或操作栏。
我该如何修改它?

4

3 回答 3

1

来自android.developer.com:(http://developer.android.com/guide/topics/ui/actionbar.html

保持向后兼容

如果您想在您的应用程序中提供操作栏并保持与 3.0 之前的 Android 版本兼容,您需要在 Activity 的布局中创建操作栏(因为 ActionBar 类在旧版本上不可用)。

为了帮助您,Action Bar Compatibility 示例应用程序提供了一个 API 层和操作栏布局,允许您的应用程序使用一些 ActionBar API,并通过将传统的标题栏替换为自定义操作栏布局来支持旧版本的 Android。

这是示例代码,希望对您有所帮助!示例:http: //developer.android.com/tools/samples/index.html

于 2013-05-08T08:32:26.430 回答
1

你必须改变

android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"

android:theme="@android:style/Theme.Light.NoTitleBar"

你也有谷歌 - 操作栏

于 2013-05-08T09:34:06.947 回答
1

从活动中删除以下行,因为它隐藏了操作栏

android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"
于 2013-05-08T09:12:16.013 回答