Кнопка не отображает правильный цвет - 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 ответ
Это происходит потому, что стиль по умолчанию MaterialButton
(в Button
заменяется на MaterialButton
автоматически, если вы используете MaterialComponents
тема) Оттенки фон сcolorPrimary
.
Вы должны использовать:
<Button
android:background="@drawable/round2"
app:backgroundTint="@null"
... />