Невозможно создать экземпляр android.support.v7.widget.AppCompatButton (используя собственный стиль) - PullRequest
0 голосов
/ 05 ноября 2018

Это не исправлено простым изменением Theme.AppCompat.Light.DarkActionBar на Base.Theme.AppCompat.Light.DarkActionBar

Я пытаюсь использовать пользовательский стиль кнопок, но получаю следующую ошибку:

Следующие классы не могут быть созданы:

android.support.v7.widget.AppCompatButton

Это не исправлено простым изменением Theme.AppCompat.Light.DarkActionBar на Base.Theme.AppCompat.Light.DarkActionBar

Я использую нестандартный стиль, так что это, по всей вероятности, не имеет к этому никакого отношения.

Вот мой текущий код:

Styles.XML

<!-- Base application theme. -->
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="RaisedButton" parent="Widget.AppCompat.Button.Colored">

    <item name="backgroundTint">@color/colorButton</item>
    <item name="android:textColor">@color/colorButtonText</item>


</style>

В activity_patient_main.xml

<android.support.v7.widget.AppCompatButton
    android:id="@+id/button3"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text="@string/ask_a_question"
    android:layout_marginTop="20dp"
    android:layout_marginBottom="20dp"
    android:theme="@style/RaisedButton"
    android:onClick="buttonClicked"
    android:textSize="60sp" />

Вещи, которые я пробовал:

Изменение темы.AppCompat.Light.DarkActionBar на Base.Theme.AppCompat.Light.DarkActionBar,

Очистить кэш и перезапустить

Изменение версии Gradle на 28.0.0-alpha1

Изменение с Widget.AppCompat.Button.Colored на Base.Widget.AppCompat.Button.Colored

Проверка того, что я расширяю AppCompatActivity (Я)

Обратите внимание, что он работает на моем телефоне, но не будет отображаться в Android Studio Я не знаю, если это просто проблема с рендерером, и если да, можно ли решить проблему?

Спасибо за помощь!

1 Ответ

0 голосов
/ 05 ноября 2018

Вы должны использовать

<item name="android:backgroundTint">@color/colorButton</item>

вместо

<item name="backgroundTint">@color/colorButton</item>

и будьте осторожны, для этого требуется API уровня 21!

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