我的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>
答案 0 :(得分:9)
我非常确定您的主题需要parent="@android:style/Theme.Holo.Light"
才能显示操作栏。
答案 1 :(得分:0)
您是否在充实菜单并返回“true”,表示您已在onCreateOptionsMenu()
覆盖中正确处理操作? http://developer.android.com/guide/topics/ui/menus.html#Inflating
如果您返回false,则事件将冒泡到父级,默认情况下不执行任何操作。