使用anim时,我可以做这样的事情
ScaleAnimation animation = new ScaleAnimation(0, 1.0, 0, 1.0, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
从0缩放到对象的原始大小。
我如何使用ObjectAnimator
或ValueAnimator
?
答案 0 :(得分:3)
您可以使用 ValueAnimator :
这样的内容ValueAnimator translate = ValueAnimator.ofFloat(1f, 1.5f);
translate.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
float scale = Float.parseFloat(animation.getAnimatedValue().toString());
yourView.setScaleX(scale);
yourView.setScaleY(scale);
}
});
translate.start();
<小时/> 对于 ObjectAnimator :
,这类似的东西
AnimatorSet animationSet = new AnimatorSet();
ObjectAnimator scaleY = ObjectAnimator.ofFloat(view,"scaleY", 1f, 1.5f);
ObjectAnimator scaleX = ObjectAnimator.ofFloat(view,"scaleX", 1f, 1.5f);
animationSet.playTogether(scaleX, scaleY);
animationSet.start();
<小时/> 您还可以为两个动画设置持续时间/插值器/延迟和类似属性。另外,请不要忘记在配置后启动动画。
<小时/> 注意:强> 没有测试此代码,可能无法正常工作。