为什么使用 android:theme= "@style/AppTheme"会导致我的应用程序中的操作栏消失?



编辑:我知道这属于我引用的SO帖子的评论,但我没有评论的声誉。如果您认为这样做是正确的,请投反对票。

我在SO上遇到了与此人完全相同的问题:Android操作栏不可见,多人建议从AndroidManifest.xml文件中删除"android:theme="@style/AppTheme"。这确实解决了我的问题,但我无法找到解释为什么会这样的答案。

  1. 为什么在清单中设置主题会干扰操作栏?
  2. 如果不在清单中,我们应该在哪里设置应用程序主题(以及设置主题的正确方法是什么)?

操作栏是主题的属性。您应该修改它,而不是删除主题:

添加这些

<style name="AppTheme" parent="...">
    ...
    <item name="android:windowActionBar">true</item>
    <item name="android:windowNoTitle">false</item>
</style>

我认为这也回答了1。(顺便说一下,如果您在代码中设置此主题,操作栏也会消失。

2:设置主题的正确方法是静态主题的清单和动态主题的代码。

最新更新