ボトムナビゲーションバー in Androidアプリを使用して Googleのサポートデザインライブラリv25.1. を実装しています。ドロップシャドウを追加する方法はありますか?現在の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>
また、このアプローチを使用する場合、互換性の問題はありません。
標高を使用して、任意のビューに影を追加できます
<TextView
Android:id="@+id/myview"
...
Android:elevation="2dp"
Android:background="@drawable/myrect" />
詳細については this を参照してください
マテリアルコンポーネントを使用している場合-これは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"
を設定することを忘れないでください。そうしないと、シャドウが上書きされます。
ボトムナビゲーションバー(または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