我的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>
我希望在11之前的sdk中显示旧的菜单栏。
并在sdk 11之后显示动作栏。
现在我可以在sdk 11之前显示菜单栏,但在sdk 11之后不显示软菜单按钮或操作栏。
我怎么修改它?
答案 0 :(得分:1)
来自android.developer.com :( http://developer.android.com/guide/topics/ui/actionbar.html)
剩余向后兼容
如果您想在应用程序中提供操作栏并保留 与早于3.0的Android版本兼容,您需要创建 活动布局中的操作栏(因为ActionBar类 旧版本不提供。)
为了帮助您,Action Bar Compatibility示例应用程序提供了一个API 图层和操作栏布局,允许您的应用使用其中一些 ActionBar API并通过替换支持旧版Android 带有自定义操作栏布局的传统标题栏。
以下是示例代码,希望这可以帮到你! 示例:http://developer.android.com/tools/samples/index.html
答案 1 :(得分:1)
从活动中删除此以下行,因为它隐藏了操作栏
android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"
答案 2 :(得分:1)
你必须改变
android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"
到
android:theme="@android:style/Theme.Light.NoTitleBar"
此外,您还有Google - Action Bar