コントロールの下にシャドウを追加

2634 ワード

コントロールの下にシャドウを追加
最近の開発では、図(図ソースstackoverflow):
tablayoutの下にシャドウを追加します.特定の理由でelevationプロパティを使用して、対応するシャドウ効果を実現できません.そこでインターネットでこの効果をどのように作るかを検索します.
背景画像を作成
実は制作も自分で手を出す必要はありません.グーグルが私たちに相応の画像を作ってくれたので、リンクを置いています.
https://github.com/google/iosched/blob/dfaf8b83ad1b3e7c8d1af0b08d59caf4223e0b95/android/src/main/res/drawable-xxhdpi/bottom_shadow.9.png
次に、対応するコントロールに対応するプロパティを使用します.ここではforegroundプロパティを使用することをお勧めします.コントロール内に他のサブコントロールがある場合、foregroundを使用するとシャドウが彼らに描かれません(この効果が必要な場合は、私が言わなかった場合).
XML法
画像の方法があって、もちろん私达が自分で相応のxmlを作ることもあって、まずdrawable名shadow.xmlを作成します

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient
        android:startColor="@android:color/transparent"
        android:endColor="#33000000"
        android:angle="90">
    gradient>
shape>

次に、コンテンツ構造にシャドウを追加しますが、プロパティに設定するのではなく、次のようにします.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    
    <View
        android:layout_width="match_parent"
        android:layout_height="8dp"
        android:background="@drawable/shadow" />
RelativeLayout>

2つの方法の互換性も鉄棒で、みんなは自由に選択します.