Android 自定义控件~流光特效

流光

之前在某一个app上看见这种流光特效非常酷炫,就想着学习怎么编写出来,以下是我所编写的流光特效代码:

这是kotlin编写出的

一、首先先确定流光最初位置的坐标点:

二、然后配置每一个点移动的距离:

三、设置一个数值发生器来获取每次移动的数值

四、启动这个动画

五、通过每次测量后的方法来执行,确定控件已经生成并测量

绘制这个流光特效:

记得在控件隐藏或者移除窗口时取消动画,避免内存泄漏:

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

下面这个六边形流光和上面的正方形流光差不多,只是需要去计算流光六个点的位置,然后去移动这六个点形成一个六边形的样式


六边形流光

Example:

private val yTopOff = 13

private val xSlant = 35

private val ySlant = 19

private val length = 40

计算:

最后得出绘制的移动数值:

getYParams(x:Float) = k * x+ b

github

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容