从代码中调用FEATURE_ACTION_BAR是不恰当的

时间:2013-07-31 16:25:07

标签: android

我的问题与在Android应用中激活ActionBar有关。这样做getWindow().requestFeature(Window.FEATURE_ACTION_BAR)是不是更惯用,还是通过你正在使用的主题强迫它更惯用?

1 个答案:

答案 0 :(得分:2)

如果您问的是Google推荐的“最佳做法”,请查看开发者页面上的示例应用程序。您会注意到您没有看到使用requestFeature()。操作栏是所有Holo主题的默认值,因此在大多数情况下,您根本不需要解决此问题。

即使您使用的是新的CompatLibrary,也应该将其与主题一起使用。新的Action Bar Guide甚至没有提到requestFeature()

修改:

啊,演示确实有这个用处。然而,即便如此,他们仍然表示“通常由您的活动的主题设置”,并告诉您如何做到这一点。

 // The Action Bar is a window feature. The feature must be requested
 // before setting a content view. Normally this is set automatically
 // by your Activity's theme in your manifest. The provided system
 // theme Theme.WithActionBar enables this for you. Use it as you would
 // use Theme.NoTitleBar. You can add an Action Bar to your own themes
 // by adding the element <item name="android:windowActionBar">true</item>
 // to your style definition.
 getWindow().requestFeature(Window.FEATURE_ACTION_BAR);