tl;dr
AndroidManifest.xml 引用 styles.xml,后者又引用 colors.xml。布局编辑器修改了styles.xml,您没有看到结果,因为styles.xml 中的可能覆盖。
-- 修改styles.xml 中的父样式并删除其中不需要的覆盖。 --
在调查了这个问题之后,因为我也遇到了这个问题,这是我得出的结论:
从一个新的“空活动”开始,您将在 AndroidManifest.xml 文件中看到以下内容:android:theme="@style/AppTheme"。这与您当前活动的“设计视图”中Layout Editor 的更改没有直接关系。
AndroidManifest.xml
将鼠标悬停在主题定义上,您将看到以下内容:
styles.xml
点击它会将我们带到styles.xml。默认情况下,您将看到以下内容:
这是AppTheme 的来源,在AndroidManifest.xml 中被引用。如您所见,Theme.AppCompat.Light.DarkActionBar 是父样式,如果您想更改整体主题,则需要对其进行修改,例如"@android:style/Theme.Material" 或 "@android:style/Theme.Holo"。
值得注意的是,只要覆盖颜色仍然存在,启动应用程序时您将不会注意到太多变化,即使更改确实发生了。
要查看更改推荐以下几行:
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
通过删除或评论:
<!-- <item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>-->
主题布局编辑器
由于某种原因,Android Studio 2.2 去掉了布局上的刷新按钮,导致样式更新出现很多困难。
目前,手动覆盖 styles.xml 中的父样式并删除从 colors.xml 导入的所有覆盖。不理想,但这是一个解决方案。
有关完整的主题列表,您可以查看此开发者R.style 链接或点击Open Editor 以获得不同主题的可视化表示。
显示如下: