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

文章介绍了两种在Android上实现阴影效果的Github解决方案——YCCardView和ShadowLayout,它们具有较好的兼容性,解决了高低版本问题。YCCardView支持设置阴影偏移、扩散和颜色,而ShadowLayout提供定制化阴影及系统shape功能,如shape、selector和ripple。尽管两者各有优缺点,但都是优化UI的有效工具。
摘要由CSDN通过智能技术生成

前言
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 电子数据

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Java老徐

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

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

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

打赏作者

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

抵扣说明:

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

余额充值