Кнопка не отображает правильный цвет - Android Studio

В моем приложении Android Studio у меня есть кнопка, для которой я установил возможность рисования в качестве фона. Выдвижной элемент закругляет углы и меняет цвет кнопки. Однако когда я смотрю на получившийся дизайн занятия, нужный мне цвет не отображается. Вместо этого кнопка принимает colorPrimary (оранжевый, #ED3616). То же самое происходит, когда я запускаю приложение. Примечание: другие атрибуты файла с возможностью рисования идеально соответствуют кнопке (т.е. закругленные углы). Проблема только в цвете.

Я пробовал использовать MaterialButton и устанавливать цвет с помощью android: backgroundTint. Затем цвет отображается так, как я хочу, но дизайн выглядит странно (внутри кнопки есть прямоугольник другого цвета ( изображение MaterialButton, если вы хотите его увидеть)

Как сделать так, чтобы обычная кнопка имела желаемый цвет?

Кнопка:

<Button
    android:background="@drawable/round2"
    android:id="@+id/signIn"
    android:layout_width="256dp"
    android:layout_height="66dp"
    android:text="@string/logIn"
    android:textColor="#FFFFFF"
    android:textSize="25sp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.496"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.878" />

Возможность рисования: round2.xml:

    <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid
        android:color="#B30C44"
        android:paddingLeft="6dp"
        android:paddingTop="6dp" />
    <corners
        android:bottomRightRadius="20dp"
        android:bottomLeftRadius="20dp"
        android:topLeftRadius="20dp"
        android:topRightRadius="20dp"/>
    <padding
        android:bottom="6dp"
        android:left="6dp"
        android:right="6dp"
        android:top="6dp" />
</shape>

Что появляется: как выглядит кнопка

1 ответ

Решение

Это происходит потому, что стиль по умолчанию MaterialButtonButton заменяется на MaterialButton автоматически, если вы используете MaterialComponentsтема) Оттенки фон сcolorPrimary.

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

<Button
    android:background="@drawable/round2"
    app:backgroundTint="@null"
    ... />
Другие вопросы по тегам