ThemeOverlay не отображает изменения в режиме предварительного просмотра / дизайна в Android Studio после обновления - PullRequest
0 голосов
/ 12 декабря 2018

Я только недавно обновил свою 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 голосов
/ 13 декабря 2018

Вы можете установить это внутри своей базовой темы:
<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"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...