Android 阴影设计

Android Shadow Design

你好,我在 powerpoint 上做了一个布局,我在 android 和 xml 上实现了它,但它们不一样(影子东西)。这是图像差异(左侧 android 右侧我要创建的内容):

this is what I want

this is what I did

我使用 xml 作为 android 布局:

<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Bottom Shadow -->
<item
    android:left="2.0dp"
    android:right="2.0dp">
    <shape android:shape="rectangle" >
        <corners android:radius="2dp" />

        <padding
            android:bottom="3dp"
            android:left="0dp"
            android:right="0dp"
            android:top="0dp" />

        <gradient
            android:angle="270"
            android:centerColor="#FF222222"
            android:centerX="0.15"
            android:endColor="#55000000"
            android:startColor="#FF000000" >
        </gradient>
    </shape>
</item>
<!-- White Top color -->
<item>
    <shape android:shape="rectangle" >
        <solid android:color="#E6E0EC" />
    </shape>
</item>

我怎样才能和xml一样的影子谢谢。

试试这个:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <gradient android:angle="90"
                android:endColor="#E0E0E0" android:startColor="#ccc" />
            <corners android:radius="4dp" />
        </shape>
    </item>

    <item
        android:left="0dp"
        android:right="1.5dp"
        android:top="0dp"
        android:bottom="1.5dp">
        <shape android:shape="rectangle">
            <solid android:color="#E6E0EC"/>
            <corners android:radius="4dp" />
        </shape>
    </item>
</layer-list>

您可以使用 Elevation="8dp" 来创建阴影效果,并小心使用 android:clipChildren="false" 作为它的父级。这是示例代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#e4032e"
    android:clipChildren="false"
    android:gravity="center"
    android:orientation="vertical">


    <FrameLayout
        android:id="@+id/login_button"
        android:layout_width="match_parent"
        android:layout_height="70dp"
        android:layout_marginRight="30dp"
        android:layout_marginLeft="30dp"
        android:background="@drawable/button_style"
        android:elevation="8dp"
        android:clipChildren="false">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="ورود به آوا"
            android:textColor="#ffffff" />


        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="right|center_vertical"
            android:contentDescription="lock"
            android:src="@drawable/login_lock"
            android:layout_margin="20dp"
            android:adjustViewBounds="true" />


    </FrameLayout>

</LinearLayout>

这是 code result image