Android 數字跳動動畫超簡單實現

效果預覽

numberdance.gif

僅需幾行代碼(Kotlin)

inline fun TextView.startNumberDanceAnimation(number: Number, duration: Long) {
    val ani = ValueAnimator.ofFloat(0f, number.toFloat()).setDuration(duration)
    val format = "%1\$01.${if (number is Float) "2" else "0"}f"
    ani.interpolator = AccelerateInterpolator()
    ani.addUpdateListener {
        text = String.format(format, it.animatedValue)
    }
    ani.start()
}

調用函數

val tv = findViewById<TextView>(R.id.tvNumber)
val tv2 = findViewById<TextView>(R.id.tvNumber2)
tv.startNumberDanceAnimation(3001, 900)
tv2.startNumberDanceAnimation(8060.33f, 900)

方案優勢

1)一個函數即可實現,無需引入新的TextView子類;
2)代碼簡單易維護;

如果本文對你有幫助就點個贊支持下吧~
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容