Невозможно изменить цвет фона на MaterialButton без изменения colorAccent - PullRequest
3 голосов
/ 10 марта 2019

Android Studio 3.2.1 Вот мой макет:

<com.google.android.material.button.MaterialButton
                android:id="@+id/bittrexJsonViewButton"
                android:layout_width="0dp"
                android:layout_height="@dimen/min_height"
                android:layout_marginStart="@dimen/half_default_margin"
                android:layout_marginEnd="@dimen/half_default_margin"
                android:text="@string/json_view"
                app:layout_constraintBottom_toBottomOf="@+id/binanceJsonViewButton"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toEndOf="@+id/binanceJsonViewButton"
                app:layout_constraintTop_toTopOf="@+id/binanceJsonViewButton" />

, чтобы изменить MaterialButton's фон, который я изменяю colorAccent в styles.xml

<item name="colorAccent">@color/colorAccent</item>

Хорошо.Это работа.

Но проблема в том, что я не хочу менять colorAccent .Я хочу использовать цвет фона для MaterialButton , отличного от colorAccent

Атрибут:

android:background="#aabbcc"

не помогает.

1 Ответ

4 голосов
/ 10 марта 2019

1-й раствор

Вы можете использовать app:backgroundTint, чтобы изменить фоновый цвет MaterialButton

<com.google.android.material.button.MaterialButton
                android:id="@+id/bittrexJsonViewButton"
                android:layout_width="0dp"
                android:layout_height="@dimen/min_height"
                android:layout_marginStart="@dimen/half_default_margin"
                android:layout_marginEnd="@dimen/half_default_margin"
                app:backgroundTint="@android:color/holo_orange_dark"
                android:text="@string/json_view"
                app:layout_constraintBottom_toBottomOf="@+id/binanceJsonViewButton"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toEndOf="@+id/binanceJsonViewButton"
                app:layout_constraintTop_toTopOf="@+id/binanceJsonViewButton" />

2-й раствор

MaterialButton использует colorPrimary в качестве фона, когда кнопка находится в активном состоянии, и colorOnSurface, когда отключено. Таким образом, вы можете определить его в своей теме и применить к кнопкам материала

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