流光
之前在某一個app上看見這種流光特效非踌挪剩酷炫,就想著學習怎么編寫出來钮热,以下是我所編寫的流光特效代碼:
這是kotlin編寫出的
一、首先先確定流光最初位置的坐標點:
二窘问、然后配置每一個點移動的距離:
三扎唾、設置一個數(shù)值發(fā)生器來獲取每次移動的數(shù)值
四、啟動這個動畫
五南缓、通過每次測量后的方法來執(zhí)行胸遇,確定控件已經(jīng)生成并測量
繪制這個流光特效:
記得在控件隱藏或者移除窗口時取消動畫,避免內存泄漏:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
下面這個六邊形流光和上面的正方形流光差不多汉形,只是需要去計算流光六個點的位置纸镊,然后去移動這六個點形成一個六邊形的樣式
六邊形流光
Example:
private val yTopOff = 13
private val xSlant = 35
private val ySlant = 19
private val length = 40
計算:
最后得出繪制的移動數(shù)值:
getYParams(x:Float) = k * x+ b