Android 如何在TranslateImation中设置动画与其重复之间的ImageView偏移 我有一个图像,它在屏幕中央。我创建了一个TranslateAnimation,用以下代码将ot移动到屏幕的右边缘: logoAnimationLeft2Right = new TranslateAnimation(0, screenWidth/2+imageWidth, 0, 0); logoAnimationLeft2Right.setDuration(500); logoAnimationLeft2Right.setFillAfter(false); logoAnimationLeft2Right.setRepeatMode(Animation.REVERSE); logoAnimationLeft2Right.setRepeatCount(1);

Android 如何在TranslateImation中设置动画与其重复之间的ImageView偏移 我有一个图像,它在屏幕中央。我创建了一个TranslateAnimation,用以下代码将ot移动到屏幕的右边缘: logoAnimationLeft2Right = new TranslateAnimation(0, screenWidth/2+imageWidth, 0, 0); logoAnimationLeft2Right.setDuration(500); logoAnimationLeft2Right.setFillAfter(false); logoAnimationLeft2Right.setRepeatMode(Animation.REVERSE); logoAnimationLeft2Right.setRepeatCount(1);,android,android-animation,translate-animation,Android,Android Animation,Translate Animation,使用此选项,我的ImageView将转到右侧边缘,并从右侧回滚到中心。我想创建一个偏移量,使ImageView回到屏幕的左侧并返回到中心(看起来“围绕”中心) 我应该怎么做才能使动画与其反向重复之间产生偏移?使用AnimationSet,包含右侧的动画和左侧的动画,然后依次播放并重复播放。您可以使用自定义内插器播放,请尝试一下。谢谢提示,我跳过这次,我的动画非常简单,但我最终会尝试:)只需像你一样创建一个TranslateAnimarion,但不需要任何重捕获的东西,并设置一个类似Math.si

使用此选项,我的ImageView将转到右侧边缘,并从右侧回滚到中心。我想创建一个偏移量,使ImageView回到屏幕的左侧并返回到中心(看起来“围绕”中心)


我应该怎么做才能使动画与其反向重复之间产生偏移?

使用
AnimationSet
,包含右侧的动画和左侧的动画,然后依次播放并重复播放。

您可以使用自定义内插器播放,请尝试一下。谢谢提示,我跳过这次,我的动画非常简单,但我最终会尝试:)只需像你一样创建一个TranslateAnimarion,但不需要任何重捕获的东西,并设置一个类似Math.sin(input*2*Math.PI)的插值器,就可以了,不需要重捕获,不需要复杂的动画集,简单、简单、容易的想法,我创建了一个AnimationSet并设置了第二个动画的startOffset。但是,它们是反向播放的:延迟的动画首先开始,然后是另一个动画。我怎么能改变它?这么奇怪?尝试调试和检查。您还可以使用
Animator/AnimatorSet
来实现。可以粘贴代码吗?以下是播放动画的当前代码:logoAnimationLeft2Right=new TranslateAnimation(0,width/2+imageWidth,0,0);logoAnimationLeft2Right.setDuration(500);logoAnimationLeft2Right2=新的TranslateAnimation(0-宽度/2-图像宽度,0,0,0);logoAnimationLeft2Right2.设置起始偏移量(500);logoAnimationLeft2Right2.设置持续时间(500);setLeft2Right.addAnimation(logoAnimationLeft2Right);setLeft2Right.addAnimation(logoAnimationLeft2Right2);我改为XML,但结果是一样的:它首先从左到中,然后从中到右。