backgroundTint в XML не меняет цвет BottomActionBar, даже если min API> = 21 - PullRequest
0 голосов
/ 19 октября 2019

Я пытаюсь настроить базовую панель BottomActionBar с прикрепленной кнопкой FloatingActionButton. В настоящее время, кажется, все работает, кроме фона бара. Если я использую android:background="some_background_color", бар заполняется нужным цветом.

Проблема в том, что я хочу, чтобы мой FAB был установлен в качестве колыбели, и этот подход кажется несовместимым с fabCradleMargin и fabCradleRoundedCornerRadius, так как фоновая панель не изменяется при изменении этих значений.

Все учебные пособия указывают, что app:backgroundTint="some_background_color" - это путь, но моя панель действий остается неизменной. Я установил свой API на> = 21, так что, насколько я знаю, там нет проблем.

Мой XML-файл:

<?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"
    tools:context=".MainActivity">

    <androidx.coordinatorlayout.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_constraintBottom_toBottomOf="parent">

        <com.google.android.material.bottomappbar.BottomAppBar
            android:id="@+id/bottom_app_bar"
            style="@style/Widget.MaterialComponents.BottomAppBar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            app:backgroundTint="@color/colorPrimary"
            app:fabAlignmentMode="center"
            app:fabAttached="true"
            app:fabCradleMargin="10dp"
            app:fabCradleRoundedCornerRadius="10dp" />

        <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/fab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_add_white_24dp"
            app:layout_anchor="@+id/bottom_app_bar"
            app:layout_anchorGravity="center_horizontal"
            app:fabSize="normal"/>

    </androidx.coordinatorlayout.widget.CoordinatorLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

backgroundTint не влияет на панель;он остается полностью белым.

Извините, если это элементарный вопрос;Я совсем новичок в Android и потратил довольно много времени на поиски решения безрезультатно.

1 Ответ

0 голосов
/ 20 октября 2019

Я протестировал ваш код, он показывает ошибку для BottomAppBar, поэтому я обнаружил, что этот код app:fabAttached="true" не определен ...

удалите его, и он будет работать отлично. Гудлак.

...