操作栏未在Android上显示

时间:2013-05-08 08:27:09

标签: android android-actionbar

我的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之后不显示软菜单按钮或操作栏。
我怎么修改它?

3 个答案:

答案 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