Android Github 上面优秀的两种阴影方案,完美兼容高低版本问题

Android 控件的阴影效果的实现方式有很多种,但是许多都有高低版本的兼容性问题。

于是,我进行了一些调研,发现 Github 上面有两种方案,兼容性比较好,基本适配了高低版本问题

  1. YCCardView
  2. ShadowLayout

下面详细介绍一下

ShadowLayout

https://github.com/lihangleo2/ShadowLayout

优点

  • 支持定制化阴影
  • 系统shape功能:项目中shape、selector

缺点

  • Bitmap 缓存依赖于 Glide,IMO 项目中没有使用 Glide,改造成本大
  • 圆角也是依赖 Glide 实现

支持功能

支持定制化阴影:

  1. 随意修改阴影颜色值
  2. 阴影圆角:可统一设置圆角,也可对某几个角单独设置
  3. x,y轴阴影偏移
  4. 随意修改阴影扩散程度
  5. 隐藏阴影:隐藏某边或多边阴影,或完全隐藏

不止于阴影;系统shape功能:项目中shape、selector、ripple统统拥有。解放你的双手,清空项目drawable文件夹

  1. shape样式:pressed(按钮点击)、selected(按钮选择)、ripple(点击水波纹)
  2. 背景色设置
  3. stroke边框设置
  4. 渐变色背景色值
  5. 按钮是否可被点击
  6. 可绑定textView后,可伴随文案变化,可伴随文案颜色变化
  7. 支持设置图片背景,支持图片selector

效果展示

在这里插入图片描述

YCCardView

https://github.com/yangchong211/YCCardView

paint.setShadowLayer(float radius, float dx, float dy, int shadowColor);

这个方法可以达到这样一个效果,在使用canvas画图时给视图顺带上一层阴影效果。
简单介绍一下这几个参数:

  • radius: 阴影半径,主要可以控制阴影的模糊效果以及阴影扩散出去的大小。
  • dx:阴影在X轴方向上的偏移量
  • dy: 阴影在Y轴方向上的偏移量
  • shadowColor: 阴影颜色。

优点

  • 支持设置阴影偏移效果,支持设置扩散阴影,设置圆角大小,设置阴影颜色,还可以设置上下左右某个方法显示阴影效果。

缺点

  • RecyclerView的item设置阴影,Bitmap 的缓存知识简单存储在 map 当中,在实际使用场景可能会有问题,自测 Demo 暂时没发现

效果展示

在这里插入图片描述

小结

本文介绍了 Android Github 上面优秀的两种阴影方案,完美兼容高低版本问题,你学会了嘛,赶紧动手搞起来。

点击关注我:<note.youdao.com/s/1I6>,可以获得以下学习资料大厂面经

  • 获取 Android 学习视频
  • 获取简历模板,教你如何优化简历,走近大厂
  • 大厂算法面试题,可以获得面试常见算法,剑指 offer 题解
  • 可以获得马士兵学习视频一份
  • 可以获得我精心整理的 Java 电子数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员徐师兄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值