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里面的参数

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 155,795评论 24 679
  • Android开发中,和布局文件对应 View 一样,Drawable 文件也对应着一个类--Drawable。如...
    食梦兽阅读 5,163评论 2 13
  • 一、创建Spring Boot项目并添加依赖 二、添加配置类RedisConfig 三、使用
    行望星烁阅读 387评论 0 0
  • 文/小叶 写不出诗歌 就是我现在真实的状态 古筝在夜里听得更清 和这混沌的天色一样 我没了思索 没有了等待 没有了...
    博土阅读 59评论 0 1
  • 人人都渴望成功?如何才算成功?怎么定义成功?相信每个人心中都有一个衡量的标准。 昨天一朋友从金钱的角度来衡量自己,...
    糖里红阅读 597评论 0 0