为控件设置一个有阴影感的背景图片即可,可以使用shape

在自定义shape中增加一层或多层,并错开,即可显示阴影效果。为增加立体感,按钮按下的时候,只设置一层。我们可以通过top, bottom, right 和 left 四个参数来控制阴影的方向和大小

//自定义两种阴影效果

第一种

<?xml version="1.0" encoding="utf-8"?>
 
<selector xmlns:android="http://schemas.android.com/apk/res/android">  
  <item android:state_pressed="true"
    <layer-list> 
      <item android:left="4dp" android:top="4dp">
        <shape> 
          <solid android:color="#ff58bb52"/>  
          <corners android:radius="30dip"/> 
        </shape>
      </item> 
    </layer-list> 
  </item>  
  <item> 
    <layer-list> 
      <!-- 第一层 -->  
      <item android:left="4dp" android:top="4dp">
        <shape> 
          <solid android:color="#66000000"/>  
          <corners android:radius="30dip"/>  
          <!-- 描边 -->  
          <stroke android:width="1dp" android:color="#ffffffff"/> 
        </shape>
      </item>  
      <!-- 第二层 -->  
      <item android:bottom="4dp" android:right="4dp">
        <shape> 
          <solid android:color="#ff58bb52"/>  
          <corners android:radius="30dip"/>  
          <!-- 描边 -->  
          <stroke android:width="1dp" android:color="#ffffffff"/> 
        </shape>
      </item> 
    </layer-list>
  </item> 
</selector>

第二种

<?xml version="1.0" encoding="utf-8"?>
 
<selector xmlns:android="http://schemas.android.com/apk/res/android">  
  <!-- 点击之后 -->  
  <item android:state_pressed="true"
    <layer-list> 
      <item android:left="4dp" android:top="4dp"
        <shape> 
          <solid android:color="#ff58bb52"/>  
          <corners android:radius="3dp"/> 
        </shape> 
      </item> 
    </layer-list>
  </item>  
  <!-- 正常状态 -->  
  <item> 
    <layer-list> 
      <!-- 第一层 -->  
      <item android:left="2dp" android:top="2dp"
        <shape> 
          <solid android:color="#66000000"/>  
          <corners android:radius="3dp"/> 
        </shape> 
      </item>  
      <!-- 第二层 -->  
      <item android:bottom="4dp" android:right="4dp"
        <shape> 
          <solid android:color="#ff58bb52"/>  
          <corners android:radius="3dp"/> 
        </shape> 
      </item>  
      <!-- 第三层 -->  
      <item android:bottom="6dp" android:right="6dp"
        <shape> 
          <solid android:color="#ffcccccc"/>  
          <corners android:radius="3dp"/> 
        </shape> 
      </item> 
    </layer-list> 
  </item> 
</selector>

设置后的效果图如下

怎么为android控件边缘添加阴影的更多相关文章

  1. Android控件上添加图片

    项目中有一个点赞功能,点赞的小图标添加在点赞列表旁边,在xml里可以进行设置,也可以在代码中进行绘图. 下面是两种方法的设置: 1.xml里:一些控件:button.textView等等里面有个属性是 ...

  2. Android控件Gridview实现多个menu模块,可添加可删除

    此案例主要讲的是Android控件Gridview(九宫格)完美实现仿支付宝首页,包含添加和删除功能:Fragment底部按钮切换的效果,包含四个模块,登录页面圆形头像等,一个小项目的初始布局. 效果 ...

  3. Android控件属性大全(转)

    http://blog.csdn.net/pku_android/article/details/7365685 LinearLayout         线性布局        子元素任意: Tab ...

  4. android控件的属性

    android控件的属性 本节描述android空间的位置,内容等相关属性及属性的含义 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 ( ...

  5. Android控件Gridview实现仿支付宝首页,Fragment底部按钮切换和登录圆形头像

    此案例主要讲的是Android控件Gridview(九宫格)完美实现仿支付宝首页,包含添加和删除功能:Fragment底部按钮切换的效果,包含四个模块,登录页面圆形头像等,一个小项目的初始布局. 效果 ...

  6. UIAutomator定位Android控件的方法

    UIAutomator各种控件定位的方法. 1. 背景 使用SDK自带的NotePad应用,尝试去获得在NotesList那个Activity里的Menu Options上面的那个Add note菜单 ...

  7. 从Android系统出发,分析Android控件构架

    从Android系统出发,分析Android控件构架 Android中所有的控件追溯到根源,就是View 和ViewGroup,相信这个大家都知道,但是大家也许会不太清楚它们之间的具体关系是什么,在A ...

  8. 一步一步学android控件(之十五) —— DegitalClock & AnalogClock

    原本计划DigitalClock和AnalogClock单独各一篇来写,但是想想,两个控件的作用都一样,就和在一起写一篇了. DegitalClock和AnalogClock控件主要用于显示当前时间信 ...

  9. 一步一步学android控件(之十六)—— CheckBox

    根据使用场景不同,有时候使用系统默认的CheckBox样式就可以了,但是有时候就需要自定义CheckBox的样式.今天主要学习如何自定义CheckBox样式.在CheckBox状态改变时有时需要做一些 ...

随机推荐

  1. Python--详解TKinter类库

    为了学习python3.5的tkinter,于是我去官网找了找相关部件的一些文档,读起来有点绕口,觉得还是自己来实践实践,看看视频感觉用处会更大,然后就有了下面的一部分常用的总结, 查看tkinter ...

  2. swift 纯代码自定义控件

    1.创建自定义控件 import UIKit class CustomView: UIView { var lab:UILabel! var btn:UIButton! /************ 将 ...

  3. Serialization之BinaryFormatter

    前言 BinaryFormatter序列化二进制序列化使用二进制编码来生成精简的序列化,以用于存储或基于套接字的网络流等. 内容 下面通过一个小小的例子来给大家说明什么是BinaryFormatter ...

  4. #6432. 「PKUSC2018」真实排名(组合数学)

    题面 传送门 题解 这数据范围--这输出大小--这模数--太有迷惑性了-- 首先对于\(0\)来说,不管怎么选它们的排名都不会变,这个先特判掉 对于一个\(a_i\)来说,如果它不选,那么所有大于等于 ...

  5. luogu1891 疯狂lcm ??欧拉反演?

    link 给定正整数N,求LCM(1,N)+LCM(2,N)+...+LCM(N,N). 多组询问,1≤T≤300000,1≤N≤1000000 \(\sum_{i=1}^nlcm(i,n)\) \( ...

  6. zabbix_get命令不存在

    yum install zabbix-get.x86_64

  7. java8 optional操作

    目标:测试option的过滤,链式操作: 代码: package test; import java.util.ArrayList; import java.util.Arrays; import j ...

  8. 《C程序设计II》简易计算器,杨辉,数字杯子图形

    <C程序设计II>简易计算器,杨辉,数字杯子图形.<C程序设计II>简易计算器,杨辉,数字杯子图形.<C程序设计II>简易计算器,杨辉,数字杯子图形. <C程 ...

  9. 【转】eclipse上的.properties文件中文编辑显示问题

    首先,解决.properties文件中的中文编辑问题,我们发现,在.properties文件中输入的中文变成了这个样子: 这是eclipse的.properties文件,默认的编码方式是iso-885 ...

  10. clip-path(css)

    概述 clip-path属性可以防止部分元素通过定义的剪切区域来显示,仅通过显示的特殊区域.剪切区域是被URL定义的路径代替行内或者外部svg,或者定义路线的方法. [注意]  IE浏览器不支持,且低 ...