更新后,ThemeOverlay在Android Studio中的预览/设计视图中未显示更改

时间:2018-12-12 20:42:47

标签: android android-studio android-layout

我最近刚刚更新了Android Studio,从那以后,ThemeOverlay属性就没有显示在预览/设计编辑器中的按钮上,这与更新之前一样。但是,当我在设备上运行应用程序时,ThemeOverlay可以工作。以下是该按钮的一些测试代码。我已将“按钮”的背景属性设置为“蓝色”,并将按钮的文本设置为“测试我”

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Test Me"
    android:background="#0000FF"
    android:layout_marginTop="20dp"
    android:theme="@style/ThemeOverlay.AppCompat.Dark"/>
 </LinearLayout>    

主题属性设置为TheOverLay.AppCompat.Dark,以使按钮上的文本变浅,但未在Android Studio的设计编辑器/预览中显示。文本仍显示为暗/黑。当我在连接的设备上运行此程序时,它工作正常。 是因为当前更新已更改某些内容吗?

1 个答案:

答案 0 :(得分:0)

您可以在基本主题中进行设置:
<item name="android:colorButtonNormal">@color/some_color</item>(基本上是全局的),所有按钮都将具有您在主题文件中定义的颜色。

另一方面,我相信您无法从ThemeOverlay获取按钮主题。相反,请创建新样式并将父级设置为Button

<style name="CustomButton" parent="Widget.AppCompat.Button.Colored">
<item name="colorButtonNormal">@color/Red</item>
<item name="android:colorButtonNormal">@color/Red</item>
<item name="android:textColor">@color/White</item>
</style>

您可以将样式应用为: android:theme="@style/CustomButton"