@Hitreno

Android studio: Почему не добавляется background к button?

При добавлении кнопки на layout у неё есть какой-то собственный стиль по умолчанию. Затем я добавляю к кнопке background в виде селектора с состояниями кнопок, но кнопки не изменяются.
layout
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000"
    android:fontFamily="@font/maven_pro_bold">

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="77dp"
        android:background="@drawable/cbutton"
        android:text="Button"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

cbutton (селектор)
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/button_pressed"
        android:state_pressed="true" />
    <item android:drawable="@drawable/button_focused"
        android:state_focused="true" />
    <item android:drawable="@drawable/button_default" />
</selector>

button_default
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
    <solid android:color="#000000"/>
    <corners android:radius="16sp"/>
    <stroke android:color="#ffffff" android:width="6dp"/>
</shape>

button_pressed
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
    <solid android:color="#ffffff"/>
    <corners android:radius="16sp"/>
</shape>

button_focused
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
    <solid android:color="#8F8F8F"/>
    <corners android:radius="16sp"/>
    <stroke android:color="#ffffff" android:width="6dp"/>
</shape>
  • Вопрос задан
  • 2330 просмотров
Решения вопроса 1
@Hitreno Автор вопроса
Проблема решена методом тыка. В файлах в папке res/values/themes нужно в теге style параметр name с materialcomponents сменил на appcompact, после всё заработало
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы