样式设置为对话框主题时未调用OnCreateOptionsMenu

时间:2014-06-25 14:48:55

标签: android android-activity xamarin.android

我在Android中有一项活动。具体来说,我使用的是Xamarin.Android,以前是monodroid。我有一项活动。当它在手机(小屏幕设备)上运行时,我们希望活动全屏。当它在平板电脑上运行时,我们希望活动有一个"边界"周围类似于对话框。我会进行程序化检查以获取屏幕尺寸,然后确定我们是在平板电脑还是手机上。如果我们在手机上,我会调用一个活动的SetTheme方法并传入一个对话框主题。我尝试过几个没有区别的对话框主题。我的菜单项没有显示。我跟踪它,我的被覆盖的OnCreateOptionsMenu方法没有被调用。我知道因为我在我的Activty的OnCreateOptionsMenu方法的第一行设置了一个断点,并且没有命中断点。

我用来设置主题的代码是: this.SetTheme(Android.Resource.Style.ThemeDialog); 我也从Activty的主题属性中尝试了这个,但我得到了相同的结果。

我正在寻找任何想法,想法,等等。

感谢您的时间。 沃利

1 个答案:

答案 0 :(得分:1)

默认情况下,对话框主题没有操作栏。没有理由在没有它的情况下创建菜单项(在较新的Android版本上)。

RequestWindowFeature (WindowFeatures.ActionBar);中致电onCreate,在对话框主题活动中获取操作栏。然后会调用OnCreateOptionsMenu