【发布时间】:2012-12-26 10:28:24
【问题描述】:
像这样很好地绘制一个可绘制的作品:
if(mAlphaAnimation == null){
mAlphaAnimation = ObjectAnimator.ofFloat(this, "alpha", 0.0f,1.0f).setDuration(TARGET_ANIM_ALPHA_DURATION);
mAlphaAnimation.setInterpolator(new AccelerateDecelerateInterpolator());
mAlphaAnimation.setStartDelay(TARGET_ANIM_ALPHA_DELAY_BASE*power);
mAlphaAnimation.setRepeatCount(ValueAnimator.INFINITE);
mAlphaAnimation.setRepeatMode(ValueAnimator.REVERSE);
mAlphaAnimation.addUpdateListener(this);
}
但是如果我想像下面那样旋转一个drawable,它就行不通了。
private void createRotateAnim(float fromDegress,float toDegress,int duration){
if(mRotateAnimation == null){
mRotateAnimation = ObjectAnimator.ofFloat(this, "rotation",fromDegress,toDegress).setDuration(duration);
mRotateAnimation.setStartDelay(100);
mRotateAnimation.setInterpolator(new AccelerateInterpolator());
mRotateAnimation.addUpdateListener(this);
}
}
任何人都可以帮我解决这个问题,或者这些是创建旋转可绘制动画的任何其他方式。
对不起,我的英语不好。
【问题讨论】:
-
我想通过触摸事件改变一个drawable的状态,drawable是一个单独的drawable,而不是一个drawable列表。例如,根据屏幕上的移动距离改变一个drawable的alpha值。并且这个功能已经完成。然后,我想根据移动角度改变一个可绘制的方向。换句话说,根据角度旋转drawable。这些drawables将在同一个视图上绘制。我想知道具有旋转属性的 ObjectAnimator 对象是否可以旋转可绘制对象。也许,它可以旋转,因为 imageview 可以旋转用于背景可绘制的可绘制对象。
标签: android rotation drawable objectanimator