Android 如何将高程(阴影)添加到BottomNavigationView。它没有';我不能默认来

Android 如何将高程(阴影)添加到BottomNavigationView。它没有';我不能默认来,android,material-design,bottomnavigationview,Android,Material Design,Bottomnavigationview,我尝试从xml设置高程,并以编程方式两者兼而有之。但是什么都不管用。我找到了解决办法。您需要将背景属性与高程一起添加,否则它将不显示阴影。只有在底部导航视图中将白色设置为android:background时,它才起作用 这是我的代码,它正在工作: <android.support.design.widget.BottomNavigationView android:id="@+id/bottom_navigation" android:layout_width="0dp"

我尝试从xml设置高程,并以编程方式两者兼而有之。但是什么都不管用。

我找到了解决办法。您需要将背景属性与高程一起添加,否则它将不显示阴影。

只有在底部导航视图中将白色设置为android:background时,它才起作用

这是我的代码,它正在工作:

<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" />

这是唯一适合我的解决方案:

val background = bottomNavigation.background
if (background is MaterialShapeDrawable) {
    background.shadowCompatibilityMode = SHADOW_COMPAT_MODE_ALWAYS
}
正如这里所建议的:

对于那些感兴趣的人,我还设法使用背景绘图工具获得了一些阴影。然而,我不得不使用白色,否则它就不工作了

如果你想像我一样做角度,它会很有用

可绘制/gnt\u圆角\u shape.xml


和内部layout/main_activity.xml


结果:


如果您没有使用
底部导航栏
协调功能,您可以使用
CardView
MaterialCardView
将导航包装起来,然后将
cardElevation
设置为所需,将
cardCornerRadius
设置为零。

您升级到25.0.1了吗?如果您已升级到25.0.1,则该版本中提到的提升是一个固定问题,但它仍然不起作用,可能是因为旧版本设备不支持它!!我使用的是25.1.0,但仍然没有看到默认高程。有什么想法吗?发布你的解决方案代码,这是为你工作。谢谢。请显示此解决方案的代码,因为它不适用于我。