安卓动画--属性动画
2020-08-19 本文已影响0人
大苏打6815
属性动画类似于跟看电影一样,都是多张图片,一贞一贞展现出来。可以配置在xml里面,通过每贞图片停留时间长短,结合在一起组成动画,下面是button里面有个图片做广播播放的效果,以及imageview不断点击变化各种动画效果

示例一(button左边的小喇叭)

因为小喇叭是直接通过button的一个属性放进去,button我们设置背景后(这里是给了一个选择器),那么再给drawableStart设置的时候是直接通过xml给一个属性动画.

在Activity调用

getCompoundDrawables()是返回的0,1,2,3分别代表左上右下,因为我xml里面设定的button内部图片在左边,因此取0.另外一个取到这个0位置(左边图片)如果不是普通的drawble而是属性动画,那么应该要强转成AnimationDrawable。
再通过start stop方法取开始与暂停。animationDrawable.selectDrawable(0)代表暂停了之后把属性动画里面第一个标签的图片直接设为背景。
示例二(下方imageview动画的变化)

Acvitivy中调用

这里示例了三个状态,连续点击可以切换不同的动画效果。分别展示了动态替换动画(setImageDrawable)和替换固定图片(setImageResource),最后的readState==READING_RESULT结束是要需要判断一下当前是否还是动画,如果是就要停止,然后再上 一张固定的照片。
本人最近也在重温各种动画以及自定义View。把一些常见的示例做个记录吧。后续会把demo里面所有的代码贴出来.