我正在尝试使用平移和旋转动画定期移动箭头图像。我已经在Imageview上实现了动画。当动画第一次停止时,imageview停留在新的位置,但是当另一个动画开始时,比如5秒后,动画应该从新的位置开始,但它总是从xml中指定的位置开始。为了确保动画总是从imageview的新位置开始,我还需要做些什么吗?
发布于 2010-12-28 10:32:49
我猜您已经实现了AnimationListener::onAnimationEnd,并在onAnimationEnd()方法中为箭头图像设置了新位置。所以它会保持在新的位置。所以检查你翻译动画,确保它是使用xType,yType as Animation.RELATIVE_TO_SELF。请参考TranslateAnimation::TranslateAnimation public TranslateAnimation(int fromXType,float fromXValue,int toXType,float toXValue,int fromYType,float fromYValue,int toYType,float toYValue) {
希望这能有所帮助。
发布于 2011-02-08 00:32:20
您需要在旧动画结束的位置开始下一个动画,或者重置箭头的LayoutParams以将其放置在停止的位置。如果出现闪烁,请尝试在动画开始之前设置LayoutParams,然后执行相反的移动(从旧位置移动到0,0,而不是从0,0移动到新位置)。希望这能有所帮助。
https://stackoverflow.com/questions/4544888
复制