Android怎么自定义View实现水波纹扩散效果


本篇内容介绍了“Android怎么自定义View实现水波纹扩散效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!效果:水波纹扩散场景:雷达、按钮点击效果、搜索等实现:先上效果图,之前记得支付宝有一个咻一咻,当时就是水波纹效果,实现起来一共两步,第一画内圆,第二画多个外圆,不同时创建有间隔创建然后缓慢增大外圆半径,到达最远距离时移除掉,扩散时把透明度从255-1不断赋值即可。复杂在第二步,开工。RippleView主要初始化一些数据,onSizeChanged主要获取位置坐标onDraw主要绘制图像,关键alpha数组:目的是让每个外圆(扩散圆)透明度从不透明到透明(255-1)spreadRadius:扩散圆的半径是递增的我们需要在xml中使用自定义属性来控制初始值,如内圆半径,扩散颜色,内圆颜色等在RippleView中拿到值context.obtainStyledAttributes可以获取我们在xml文件的属免费云主机域名性值,最后typedArray.recycle();释放掉,为什么释放掉这也是一个学问,自行百度。centerColor为内圆颜色,spreadColor扩散颜色我们已经做了好前奏,剩下的就开始绘制了,首先我们要确定几个圆才能形成水波纹效果,1,2还是3,不确定那就先从一个开始,spreadRadius我们在创建画笔时已经添加了一个圆,那我们就遍历spreadRadius数组,透明度alphas[i]把值递减(255-1),spreadRadius[i]圆半径递增,圆数量超过8个就移除第1个,如果最外圆扩散半径达到最大半径时添加新扩散圆。最后通过postInvalidateDelayed(30),延迟刷新来达到扩散的样式。“Android怎么自定义View实现水波纹扩散效果”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注百云主机网站,小编将为大家输出更多高质量的实用文章!

相关推荐: Asp.net core前端框架Blazor怎么使用

今天小编给大家分享一下Asp.netcore前端框架Blazor怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Blazor是微软在Asp…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/31 17:37
下一篇 03/31 17:37

相关推荐