Как сделать закругленным BottomAppBar

У меня есть BottomAppBar

введите сюда описание изображения

Мне надо его сделать закругленным как на этой фотке

введите сюда описание изображения

Пытался сделать стандартом через android:background="@drawable" и в @drawable файле закруглить, но безуспешно.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">


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

        <com.google.android.material.bottomappbar.BottomAppBar
            android:id="@+id/navigationBottom"
            android:layout_margin="15.5dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            app:hideOnScroll="true">

        </com.google.android.material.bottomappbar.BottomAppBar>

        <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/fab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_anchor="@id/navigationBottom" />


    </androidx.coordinatorlayout.widget.CoordinatorLayout>


</LinearLayout>

Ответы (1 шт):

Автор решения: Andrew

Вот откуда эта картинка. В этом источнике указывается что нужно создать drawable файл:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#F5F5FF" />
    <corners android:radius="17dp" />
</shape>

ну и подключить:

android:background="@drawable/bottom_navigation_background"

UPDATE

Можно попробовать в xml фона поместить:

<corners
    android:topLeftRadius="16dp"
    android:topRightRadius="16dp" />

но для всех углов. Второй вариант, через код активности:

float radius = getResources().getDimension(R.dimen.default_corner_radius);
BottomAppBar bottomAppBar = findViewById(R.id.bottom_app_bar);

ShapeAppearanceModel shapeAppearanceModel = new ShapeAppearanceModel()
    .toBuilder()
    .setTopRightCorner(CornerFamily.ROUNDED,radius)
    .setTopLeftCorner(CornerFamily.ROUNDED,radius)
    .build();

ViewCompat.setBackground(bottomAppBar,new MaterialShapeDrawable(shapeAppearanceModel));
→ Ссылка