之前有看过一些动画的使用(tweener类的),但是近日遇到的是对一个Drawable类进行动画,而之前看过的只能针对View类,所以又重新查看了下其它方式的动画,最后使用ObjectAnimation成功。
使用方法如下,以alpha效果为例:
1 ObjectAnimator alphaSample = ObjectAnimator.ofFloat(objectSample, "alpha", 0.0f, 1.0f); //从全透明到不透明
2
3 alphaSample.setDuration(300); //持续时间(毫秒)
4 alphaSample.setInterpolator(null); //变化方式,如是否慢慢加速等,如null则是线性的
5 alphaSample.setStartDelay(100); //过多久才开始动画
6 alphaSample.start(); //开始
如果定义多个动画一起,需要再定义一个AnimatorSet:
ObjectAnimator alphaSample2 = ObjectAnimator.ofFloat(objectSample2, "alpha", 0.0f, 1.0f);
AnimatorSet sampleSet = new AnimatorSet();
sampleSet.play(alphaSample).with(alphaSample2); //两个同时执行
sampleSet.play(alphaSample).before(alphaSample2); //第一个先执行
sampleSet.start();