即使将最低SDK版本设置为11,也不会创建ActionBar

时间:2011-07-28 17:41:51

标签: android android-3.0-honeycomb android-actionbar

我的min SDK版本设置为11,目标SDK版本设置为11.我有一个活动,其中包含一些片段。该样式具有parent="@android:style/Theme.Light"并且不隐藏操作栏。在我希望看到操作栏的活动中,我覆盖了onCreateOptionsMenu()。我的理解是onCreateOptionsMenu()将在活动开始时自动调用,并将创建操作栏。这种情况不会发生在我身上。我不确定我的理解是错误的还是我做错了导致它没有出现。

要清楚,我的onCreateOptionsMenu方法甚至没有触发。我怀疑问题出现在代码的另一部分,但我不知道它可能是什么。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.signin_layout_menu, menu);
    return true;
}

这是我的菜单xml:

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

以下是活动正在使用的样式:

<style name="Theme.MyTheme" parent="@android:style/Theme.Light">
    <!-- Window attributes -->
    <item name="android:windowTitleSize">36dip</item>
    <item name="android:windowTitleStyle">@style/WindowTitle</item>
    <item name="android:windowTitleBackgroundStyle">@style/WindowTitleBackground</item>

    <item name="android:textAppearanceButton">@style/TextAppearance.Widget.Button</item>

    <!-- Button styles -->
    <item name="android:buttonStyle">@style/Widget.Button</item>
</style>

2 个答案:

答案 0 :(得分:9)

我非常确定您的主题需要parent="@android:style/Theme.Holo.Light"才能显示操作栏。

答案 1 :(得分:0)

您是否在充实菜单并返回“true”,表示您已在onCreateOptionsMenu()覆盖中正确处理操作? http://developer.android.com/guide/topics/ui/menus.html#Inflating

如果您返回false,则事件将冒泡到父级,默认情况下不执行任何操作。

相关问题