Android 背景阴影效果

  1. 在drawable文件夹下建立一个shadow.xml文件,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- 阴影部分 -->
    <!-- 个人觉得更形象的表达:top代表下边的阴影高度,left代表右边的阴影宽度。其实也就是相对应的offset,solid中的颜色是阴影的颜色,也可以设置角度等等 -->
    <item
        android:left="2dp"
        android:top="2dp">

        <shape android:shape="rectangle">
            <gradient
                android:angle="270"
                android:endColor="#0F000000"
                android:startColor="#0F000000"/>

            <corners
                android:bottomLeftRadius="6dip"
                android:bottomRightRadius="6dip"
                android:topLeftRadius="6dip"
                android:topRightRadius="6dip"/>
        </shape>
    </item>

    <!-- 背景部分 -->
    <!-- 形象的表达:bottom代表背景部分在上边缘超出阴影的高度,right代表背景部分在左边超出阴影的宽度(相对应的offset) -->
    <item
        android:bottom="3dp"
        android:right="3dp">

        <shape android:shape="rectangle">
            <gradient
                android:angle="270"
                android:endColor="#FFFFFF"
                android:startColor="#FFFFFF"/>

            <corners
                android:bottomLeftRadius="6dip"
                android:bottomRightRadius="6dip"
                android:topLeftRadius="6dip"
                android:topRightRadius="6dip"/>
        </shape>
    </item>

</layer-list>
  1. 在你的button里面,设置背景如下:
<Button
        android:id="@+id/btn_login"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/shadow"
        android:text="登录"
        android:textSize="20dp"/>

具体效果可以自己调整shadow.xml里面的参数
    原文作者:喂_balabala
    原文地址: https://www.jianshu.com/p/845db65937a2
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞