Задать вопрос
@ArturPendragonOfficial

Почему кнопка в xml не меняет цвет?

Проблема у меня такая. Я хочу чтоб у меня кнопка была черного цвета с белой обводкой.
Я сделал отдельный xml файл где все прописал.

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:innerRadius="0dp"
    android:shape="ring"
    android:thicknessRatio="2"
    android:useLevel="false" >

    <solid android:color="@android:color/black" />

    <stroke
        android:width="5dp"
        android:color="@android:color/white" />
</shape>


Дальше я пытаюсь в floatingActionBar это все применить. Обводка работает но цвет кнопки по дефолту остается зеленым.

<LinearLayout
    android:id="@+id/fabWrapper"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/button_background"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    android:padding="5dp">

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>


Мое предположение что, что то по иерархии view не дает мне установить свой цвет.
Как мне это исправить ?

<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Theme.QuitSmoking" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
        <item name="colorPrimary">@color/purple_500</item>
        <item name="colorPrimaryVariant">@color/purple_700</item>
        <item name="colorOnPrimary">@color/white</item>
        <item name="colorSecondary">@color/teal_200</item>
        <item name="colorSecondaryVariant">@color/teal_700</item>
        <item name="colorOnSecondary">@color/black</item>
        <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
    </style>

    <style name="Theme.QuitSmoking.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

    <style name="Theme.QuitSmoking.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

    <style name="Theme.QuitSmoking.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>
  • Вопрос задан
  • 413 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@ArturPendragonOfficial Автор вопроса
Я решил проблему. Удалив все темы созданные студией. Они мне не позволяли установить цвет
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
zagayevskiy
@zagayevskiy Куратор тега Kotlin
Android developer at Yandex
Так ты установил background не кнопке, а линеар лэйауту, в котором она зачем-то лежит. Установи кнопке.
Ответ написан
Ваш ответ на вопрос

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

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