Android中给控件添加阴影效果

一、效果图

1.1 使用elevation和translationZ实现阴影效果

1.2 使用layer-list实现阴影效果

1.3 使用第三方库实现阴影效果

二、源代码

2.1 使用elevation和translationZ实现阴影效果

这种方式需要在API 21才可以使用,具体代码实现片段如下:
 				 <TextView
                    android:layout_width="120dp"
                    android:layout_height="80dp"
                    android:layout_marginTop="20dp"
                    android:background="@drawable/base_rectangle_white"
                    android:elevation="10dp"
                    android:gravity="center"
                    android:text="背景为白色10dp"
                    android:textColor="@android:color/black"
                    android:textSize="20sp" />

                <TextView
                    android:layout_width="120dp"
                    android:layout_height="80dp"
                    android:layout_gravity="left"
                    android:layout_marginBottom="20dp"
                    android:layout_marginLeft="20dp"
                    android:layout_marginTop="20dp"
                    android:background="@drawable/base_rectangle_yellow"
                    android:gravity="center"
                    android:text="背景为黄色10dp"
                    android:textColor="@android:color/black"
                    android:textSize="20sp"
                    android:translationZ="10dp" />

2.2 使用layer-list实现阴影效果

这种方式需要在API 23才可以使用
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item>
        <shape android:shape="rectangle">
            <solid android:color="#22888888" />
            <corners android:radius="5dp" />
        </shape>
    </item>
    <!--
        android:bottom、
        android:end、
        android:start、
        android:top是距离下右左上的间距
    -->
    <item
        android:bottom="5dp"
        android:end="5dp"
        android:start="5dp"
        android:top="5dp">
        <shape android:shape="rectangle">
            <solid android:color="@android:color/white" />
            <corners android:radius="5dp" />
        </shape>
    </item>
</layer-list>

2.3 使用第三方库实现阴影效果

这种方式可以在Android系统中通用,使用 第三方库来实现阴影效果

项目源码

利用点9图实现阴影效果


版权声明:本文为Duckdan原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。