带有下拉阴影的Android底部导航栏

23
4个回答

106

您可以使用简单的视图和其背景在底部栏上方绘制自己的阴影:

<View
    android:layout_width="match_parent"
    android:layout_height="4dp"
    android:layout_above="@id/bottom_bar"
    android:background="@drawable/shadow"/>

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

此外,如果采用这种方法,则不会出现兼容性问题。


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

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

5
您可以使用高程(elevation)为任何视图添加阴影。
<TextView
android:id="@+id/myview"
...
android:elevation="2dp"

android:background="@drawable/myrect" />

更多信息请参阅此链接


在我的项目中无法工作:“属性'elevation'仅在API级别21及更高版本中使用(当前最低版本为16)”,如果它能够工作,我会使用它的。 - Jan Slominski

3

1
有文档链接吗? - khaleel_jageer
它没有成功。 - kondal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接