圆角背景大家应该经常用:

一个drawable资源文件  里面控制corner圆角 和solid填充色

<shape xmlns:android="http://schemas.android.com/apk/res/android"><corners android:radius="@dimen/dp_2"></corners><solid android:color="@color/standard_main"></solid>
</shape>

那么在此基础上 , 实现带阴影效果的圆角背景

代码如下

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 阴影部分 -->
<!-- 个人觉得更形象的表达:top代表下边的阴影高度,left代表右边的阴影宽度。其实也就是相对应的offset,solid中的颜色是阴影的颜色,也可以设置角度等等 -->
<itemandroid:left="4dp"android:top="4dp"><shape android:shape="rectangle" ><gradientandroid:angle="270"android:endColor="#0F000000"android:startColor="#0F000000" /><cornersandroid:bottomLeftRadius="@dimen/dp_4"android:bottomRightRadius="@dimen/dp_14"android:topLeftRadius="@dimen/dp_4"android:topRightRadius="@dimen/dp_4" /></shape>
</item><!-- 背景部分 -->
<!-- 形象的表达:bottom代表背景部分在上边缘超出阴影的高度,right代表背景部分在左边超出阴影的宽度(相对应的offset) -->
<itemandroid:bottom="3dp"android:left="@dimen/dp_0.5"android:top="@dimen/dp_0.5"android:right="3dp"><shape android:shape="rectangle" ><gradientandroid:angle="270"android:endColor="#FFFFFF"android:startColor="#FFFFFF" /><cornersandroid:bottomLeftRadius="@dimen/dp_4"android:bottomRightRadius="@dimen/dp_14"android:topLeftRadius="@dimen/dp_4"android:topRightRadius="@dimen/dp_4" /></shape>
</item></layer-list>

效果: 可以看到 右侧和下侧都有一个小范围的灰色阴影效果。

在实际产品中作为列表item的背景效果:

是不是实现了一种类似cardview的效果

Android项目实战(三十六):给背景加上阴影效果相关推荐

  1. Android项目实战(十六):QQ空间实现(一)—— 展示说说中的评论内容并有相应点击事件...

    大家都玩QQ空间客户端,对于每一个说说,我们都可以评论,那么,对于某一条评论: 白雪公主 回复 小矮人 : 你们好啊~ 我们来分析一下: 1.QQ空间允许我们 点击 回复人和被回复人的名字就可以进入对 ...

  2. 应用程序框架实战三十六:CRUD实战演练介绍

    从本篇开始,本系列将进入实战演练阶段. 前面主要介绍了一些应用程序框架的概念和基类,本来想把所有概念介绍完,再把框架内部实现都讲完了,再进入实战,这样可以让初学者基础牢靠.不过我的精力很有限,文章进度 ...

  3. Android入门教程三十六之BaseAdapter优化

    上一节中我们学习了如何来使用一个ListView以及自定义一个简单的BaseAdapter,我们从代码 中可以看出比较重要的两个方法:getCount()和getView(),界面上有多少列就会调用多 ...

  4. Android 项目必备(十六)--> 手机号 验证码 密码

    文章目录 手机号 验证码 密码 在我们的项目中,获取验证码.手机号验证以及密码输入是很常见的小功能. 手机号 1. 布局文件 <EditTextandroid:id="@+id/et_ ...

  5. Android笔记(三十六) AsyncTask是如何执行的?

    在上一个例子中,我们是在LoadImage的onPostExecute中修改的UI,不是说只允许在主线程中修改UI吗?我们看一下源代码是如何操作的. MainActicity.java package ...

  6. Android项目实战(十五):自定义不可滑动的ListView和GridView

    不可滑动的ListView (RecyclweView类似) public class NoScrollListView extends ListView {public NoScrollListVi ...

  7. 潭州课堂25班:Ph201805201 django 项目 第三十六课 后台文章管理(课堂笔记)

    get 请求, 1,获取文章标签 , 2,拿到前台传来的值, 3,根据前台传来的值在数据库中查询 4.,返回数据到前台,渲染, 分页算法 : 在 utils 下创建  paginator_script ...

  8. android圆角对话框,Android项目实战(三十二):圆角对话框Dialog

    原文: Android项目实战(三十二):圆角对话框Dialog 前言:html 项目中多处用到对话框,用系统对话框太难看,就本身写一个自定义对话框.android 对话框包括:一.圆角程序员 二.a ...

  9. Vue + Spring Boot 项目实战(十五):动态加载后台菜单

    重要链接: 「系列文章目录」 「项目源码(GitHub)」 本篇目录 前言 一.后端实现 1.表设计 2.pojo 3.菜单查询接口(树结构查询) 二.前端实现 1.后台页面设计 2.数据处理 3.添 ...

  10. Android项目实战(三十二):圆角对话框Dialog

    原文:Android项目实战(三十二):圆角对话框Dialog 前言: 项目中多处用到对话框,用系统对话框太难看,就自己写一个自定义对话框. 对话框包括:1.圆角 2.app图标 , 提示文本,关闭对 ...

最新文章

  1. GNN 系列(三):GraphSAGE
  2. AM335X can驱动移植
  3. 使用UIScrollView 实现分页功能
  4. 【Android】Android之WiFi开发应用示例
  5. Hibernate面试题分析
  6. Laravel 中的 视图和模型
  7. JSF 与 HTML 标签的联系
  8. 2018/12/06 eclipse 快速加载需要的包
  9. jQuery 属性操作 - addClass() 和 removeClass() 方法
  10. 【UML】聊聊系统建模
  11. 生物信息学数据库导航
  12. ADAS倒车雷达超声波传感器elmos524.03驱动
  13. 计算机组成原理输入输出系统——DMA方式
  14. 漫话:如何给女朋友解释为什么有些网站域名不以www开头
  15. linux中tac的用法,如何在Linux中使用“cat”和“tac”命令与示例
  16. 九度OJ题目1035:找出直系亲属
  17. SQL中类型转换函数
  18. (亲测)1分钟破解IDM权限,傻瓜都能学会的破解方法(番外篇:利用破解工具直接破解IDM)...
  19. js控制form提交的action
  20. GO Package、GOPATH、GOMOD、GOROOT、GOPROXY、版本迭代

热门文章

  1. install python-tk_No module named _tkinter, please install the python-tk package 解决方法总结
  2. laravel5.4根据数据表生成迁移文件
  3. 浏览器关闭 session并不会被干掉
  4. yb3防爆电机型号含义_YBK3防爆电机介绍
  5. Eclipse离线安装Java Decompiler插件
  6. CentOS8 模块化仓库
  7. gsoap插件之wsdd主动广播发送hello、bye
  8. 用分布式锁解决并发问题
  9. MongoDB查询时排序字段为int类型和string类型的区别
  10. c语言计算成绩大于90为优秀,输入一个分数,如小于60分,则输出不及格;如大于60小于85,输出良好;85分以上则为优秀。 用c语言编写...