Добавление appcompat-v7 в Gradle не приводит к автоматическому переключению видов компоновки на версии AppCompat. - PullRequest
0 голосов
/ 25 сентября 2019

Мне нужно одинаково выглядеть в кнопках до леденца и после леденца, и я изменяю цвет кнопки с атрибутом colorButtonNormal.

Я использую эту тему для своего приложения: <style name="AppTheme" parent="Theme.AppCompat.Light">

Поскольку мне нужно одинаково смотреть во всех версиях Android, я делаю это в Gradle:

implementation 'com.android.support:appcompat-v7:28.0.0'

Как упомянуто в документации, простое добавление этой строки преобразует все ваши виджеты в ваших макетах xml в версии этих виджетов для appcompat, и в старых версиях для Android будет выглядеть так же, как в современных версиях для Android.

AppCompatверсия Button должна иметь возможность доступа к этому атрибуту в XML:

<Button
    app:backgroundTint="@color/unpressed2">
</Button>

Но что-то идет не так, потому что его игнорируют.И если я сделаю так, чтобы этот xml-виджет был версией AppCompat, он отлично работает:

<android.support.v7.widget.AppCompatButton
    app:backgroundTint="@color/unpressed2">
</android.support.v7.widget.AppCompatButton>

Почему добавление реализации com.android.support:appcompat-v7:28.0.0 'не приводит к автоматическому изменению всех моихButton виджетов в android.support.v7.widget.AppCompatButton виджетов?

1 Ответ

1 голос
/ 25 сентября 2019

Вам нужно использовать AppCompatActivity, чтобы использовать AppCompat widgets в формате XML.

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