在我的应用程序中,我可以看到操作栏,但我看不到设置项,因为它从不调用onCreateOptionsMenu。
app对于目标sdk 16,它由一个标签组成,每个标签都是一个片段。 在Fragment类中,在onCreate()期间我调用setHasOptionsMenu(true)。 主题是Theme.Holo.Light。 如果我在模拟器(Android 4.0)上运行应用程序并按下硬件菜单项,它会调用该方法,但它会显示菜单,如Android 2.3菜单,而不是操作栏!!
我认为问题不在于sdk版本,因为操作栏是可见的! 任何的想法?我可以检查什么来找到错误?
非常感谢您的帮助! 我最诚挚的问候 和Manuela
答案 0 :(得分:4)
我遇到了同样的问题并通过这种方式解决了
的manifest.xml
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar" >
删除android:theme =“@ android:style / Theme.NoTitleBar”
答案 1 :(得分:1)
这是正常行为。 系统适应其运行的硬件。
如果设备没有硬件按钮,则会显示为操作栏中的下拉列表。 如果设备有硬件按钮,它会从菜单按钮附近显示为上升。
修改强>
如果菜单在操作栏上,它只创建一次(因为菜单停留在屏幕上,不会像硬件键手机一样消失),所以还有另一个回调,我认为它是onPrepareOptionsMenu或类似的东西,在菜单显示在屏幕上之前调用一个。