我正在使用Google 的支持设计库 v25.1.0在 Android 应用程序中实现底部导航栏。有什么方法可以添加阴影效果,就像当前的 Android 原生 Google Photos 应用一样?
问问题
28843 次
4 回答
100
您可以使用简单的 View 及其背景在底栏上方绘制自己的阴影:
<View
android:layout_width="match_parent"
android:layout_height="4dp"
android:layout_above="@id/bottom_bar"
android:background="@drawable/shadow"/>
可绘制/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>
此外,如果使用这种方法,也不存在兼容性问题。
于 2017-01-14T14:53:20.347 回答
5
您可以使用高程向任何视图添加阴影
<TextView
android:id="@+id/myview"
...
android:elevation="2dp"
android:background="@drawable/myrect" />
请参阅此以获取更多信息
于 2017-03-09T09:48:52.133 回答
4
对于那些使用带有底部导航栏(或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
于 2018-08-17T22:53:49.733 回答
3
对于那些使用材料组件的人 - 这已由com.google.android.material:material:1.1.0-alpha09
.
从 1.1.0-alpha05 开始可用:https ://github.com/material-components/material-components-android/releases/tag/1.1.0-alpha05
用于android:elevation="4dp"
设置高程阴影。
另外,不要忘记clipChildren="false"
在主布局上设置,否则阴影将被覆盖。
于 2019-08-02T15:25:59.973 回答