今天在逛简书的时候被一个标题吸引力,高仿余额宝数字动画效果,立马打开支付宝余额宝看了看,不知道是不是因为数字只有个位数的原因,没看到啥动画效果,恰好文章里的效果图只截取了一张图片,看不到具体的gif效果。所以好奇心驱使下,自己照着写了写,没想到不经意间接触到了属性动画的新知识,下面来具体看一看,文末有我学习的文章链接。
首先放上效果动图:
要是没看到这篇文章之前,我估计会一脸懵,完全不知道实现的思路。看了文章后新世界的大门被打开了,当即心里就感叹,这个效果竟然是用来实现的,之前写过一篇关于属性动画的文章(安卓属性动画),里面介绍了属性动画的简单应用,比如常用的位移、缩放、旋转、透明度以及组合动画等,在这之前也知道属性动画的对象(target)不一定非得是view,可以是任何对象,通过设置属性值(propertyName)来实现不同的动画效果。今天终于对这句话有了更深刻的认识和理解,因为上面的效果就是通过设置属性值为
number
来实现的,非常神奇,下面贴上属性动画的代码:
val animator = ObjectAnimator.ofFloat(text,"number",0f,100000000f)
animator.duration = 2000
animator.interpolator = AccelerateDecelerateInterpolator()
animator.addUpdateListener {
text.text = String.format(CountNumberView.FLOATREGEX, it.animatedValue as Float)
}
animator.start()
图中第二个TextView是我知道原理后自己写的一个,上面那个就是从别人文章里直接copy过来看效果的,文章链接:https://www.jianshu.com/p/bcc91ef2f3ed
又学习到一个新东西,特此记录一下。
网友评论