Android底部导航栏带投影

Jan*_*ski 19 android android-support-library android-support-design android-bottomnav

我正在使用Google的支持设计库v25.1.0在Android应用中实现Bottom Navigation Bar.有没有办法添加阴影效果,与当前Android原生Google照片应用相同?

在此输入图像描述

Ale*_*huk 81

您可以使用简单的View及其背景在底栏上方绘制自己的阴影:

<View
    android:layout_width="match_parent"
    android:layout_height="4dp"
    android:layout_above="@id/bottom_bar"
    android:background="@drawable/shadow"/>
Run Code Online (Sandbox Code Playgroud)

绘制/ shadow.xml:

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient
        android:startColor="#1F000000"
        android:endColor="@android:color/transparent"
        android:angle="90" />
</shape>
Run Code Online (Sandbox Code Playgroud)

此外,如果使用此方法,则不存在兼容性问题.


小智 5

您可以使用高程为任何视图添加阴影

<TextView
android:id="@+id/myview"
...
android:elevation="2dp"

android:background="@drawable/myrect" />
Run Code Online (Sandbox Code Playgroud)

请参阅了解更多信息


小智 5

对于使用带有底部导航栏(或BottomAppBar)的 CoordinatorLayout 的用户,您可以使用以下方法在导航栏上方附加阴影:

<View
    android:layout_width="match_parent"
    android:layout_height="4dp"
    android:background="@drawable/shadow"
    app:layout_anchor="@+id/toolbar"
    app:layout_anchorGravity="top"/>
Run Code Online (Sandbox Code Playgroud)

显然,将 替换@+id/toolbar为底部导航栏的 id