Как добавить отметку (тень) к моему BottomNavigationView. Он не приходит по умолчанию

Я попытался установить высоту из xml и программно обе. Но ничего не работает. введите описание изображения здесь

Ответ 1

Он работает, только если вы установите белый как андроид: фон в BottomNavigationView.

Это мой код, и он работает:

<android.support.design.widget.BottomNavigationView
    android:id="@+id/bottom_navigation"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    android:background="@color/white"
    app:elevation="8dp"
    app:itemIconTint="@color/bottom_color_state"
    app:itemTextColor="@color/bottom_color_state"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintHorizontal_bias="0.52"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:menu="@menu/bottom_navigation_main" />

Ответ 2

Я получил решение. Вам нужно добавить атрибут фона вместе с увеличением, иначе он не покажет тень.

Ответ 3

Это единственное решение, которое сработало для меня:

val background = bottomNavigation.background
if (background is MaterialShapeDrawable) {
    background.shadowCompatibilityMode = SHADOW_COMPAT_MODE_ALWAYS
}

как предложено здесь:https://issuetracker.google.com/issues/124153644#comment2