ObjectAnimation可以动态设置控件有get与set方法的属性进行改变,给你的圆添加一个半径的属性,并添加get与set。
参考
//通过AnimatiorSet来设计同步执行的多个属性动画
ObjectAnimator animator1 = ObjectAnimator.ofFloat(imageView, "translationX", 0F, 360F)//X轴平移旋转
ObjectAnimator animator2 = ObjectAnimator.ofFloat(imageView, "translationY", 0F, 360F)//Y轴平移旋转
ObjectAnimator animator3 = ObjectAnimator.ofFloat(imageView, "rotation", 0F, 360F)//360度旋转
AnimatorSet set = new AnimatorSet()
//set.playSequentially(animator1, animator2, animator3)//分步执行
//set.playTogether(animator1, animator2, animator3)//同步执行
//属性动画的执行顺序控制
// 先同步执行动画animator2和animator3,然后再执行animator1
set.play(animator3).with(animator1)
set.play(animator2).after(animator3)
set.setDuration(1000)
set.start()
2.通过ValueAnimation来动态改变圆半径的属性
参考
public void onClick(View view) {
final ValueAnimator animator = ValueAnimator.ofInt(1, 100)
animator.setDuration(5000)
animator.setInterpolator(new LinearInterpolator())//线性效果变化
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
Integer integer = (Integer) animator.getAnimatedValue()
button.setText("" + integer)
}
})
animator.start()
}
imageview的属性中可以加入background来定义它的背景,将背景定义成一个圆形的drawable就可以了。另一种办法,也可以自己定义一个view来显示圆形的图片,你可以参考http://blog.csdn.net/alan_biao/article/details/17379925来进行设计。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)