我正在使用Google的支持设计库v25.1.0在Android应用程序中实现底部导航栏。有没有办法添加下拉阴影效果,就像当前Android原生Google照片应用程序一样?
我正在使用Google的支持设计库v25.1.0在Android应用程序中实现底部导航栏。有没有办法添加下拉阴影效果,就像当前Android原生Google照片应用程序一样?
您可以使用简单的视图和其背景在底部栏上方绘制自己的阴影:
<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>
此外,如果采用这种方法,则不会出现兼容性问题。
对于使用带有底部导航栏(或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。<TextView
android:id="@+id/myview"
...
android:elevation="2dp"
android:background="@drawable/myrect" />
更多信息请参阅此链接
com.google.android.material:material:1.1.0-alpha09
得到了解决。android:elevation="4dp"
来设置高度阴影。clipChildren="false"
,否则将覆盖阴影。