#xml #android-studio #button
Вопрос:
В моем приложении для Android я хочу, чтобы угол одной из кнопок был закруглен, а ее цвет отличался от цвета по умолчанию. Я создал xml-файл, который позволил бы достичь этого. После установки этого xml-файла в качестве фона моей кнопки форма изменилась, но цвет остался по умолчанию. Я попытался установить этот xml-файл в качестве фона текстового представления, и это отлично сработало. В button_shape.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="20dp" />
<solid android:color="#03A9F4" />
</shape>
Кнопка:
<Button
android:id="@ id/btRandom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="250dp"
android:background="@drawable/button_shape"
android:text="MyButton"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvTitle" />
Комментарии:
1. Здравствуйте, вы можете попробовать изменить оттенок кнопки на #03A9F4
2. Я уже пробовал это, но если фон установлен в этот xml-файл, цвет не изменится, даже если я изменю оттенок.
3. Вы можете попробовать создать стиль кнопки с этим фоном и оттенком и применить его к этой кнопке
Ответ №1:
Заменить Theme.MaterialComponents.DayNight.DarkActionBar
на в Theme.AppCompat.DayNight.DarkActionBar
разделе папки res—> значения—>> темы —>>> themes.xml. В Android studio 4.1 по умолчанию тема уже применяется к кнопкам. Тогда вы можете просто сказать: android:background="@color/black"
например.