【问题标题】:Action bar not show on AndroidAndroid 上不显示操作栏
【发布时间】:2013-05-08 17:34:06
【问题描述】:

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

【问题讨论】:

标签: android android-actionbar


【解决方案1】:

你必须改变

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

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

你也有Google - Action Bar

【讨论】:

    【解决方案2】:

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

    保持向后兼容

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

    为了帮助您,操作栏兼容性示例应用提供了一个 API 层和操作栏布局,允许您的应用使用一些 ActionBar API 并且还通过替换来支持旧版本的 Android 带有自定义操作栏布局的传统标题栏。

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】: