android image 位移动画_ImageView上的TranslateAnimation(Android)

在Android应用中,当用户滑动时,希望ImageView能随之向右或向左平滑移动。通过使用TranslateAnimation,可以实现这一效果。然而,在实际操作中遇到问题:首次滑动正常,但反向滑动时,ImageView会回到初始位置,而非保持在滑动后的状态。尝试在AnimationListener的onAnimationEnd方法中调整布局参数以保持动画结束位置,但未能成功。寻求解决使用TranslateAnimation时,ImageView在滑动后保持位移状态的解决方案。
摘要由CSDN通过智能技术生成

所以我的布局中有一个

ImageView,当用户滑过后者时我想向右或向左滑动它.我使用TranslateAnimation来翻译ImageView,如下所示.

ImageView logoFocus = (ImageView) findViewById(R.id.logoFocus);

Animation animSurprise2Movement = new TranslateAnimation(logoFocus.getLeft(),logoFocus.getLeft()+150,logoFocus.getTop(),logoFocus.getTop());

animSurprise2Movement.setDuration(1000);

animSurprise2Movement.setFillAfter(true);

animSurprise2Movement.setFillEnabled(true);

logoFocus.startAnimation(animSurprise2Movement);

我已将此代码放在我的“向右滑动”部分,并使用相同的代码但使用getLeft() – 150用于“向左滑动”部分.当我第一次滑动时它按预期工作,但是当我向另一个方向滑动时,ImageView返回到其原始位置,然后向另一个方向滑动,而不是仅滑动到原始位置.

我已经尝试在AnimationListener的onAnimationEnd方法中添加以下内容,我将其设置为动画,但是徒劳无功.

MarginLayoutParams params = (MarginLayoutParams) logoFocus.getLayoutParams();

params.setMargins(logoFocus.getLeft()+150,logoFocus.getRight(),logoFocus.getBottom());

logoFocus.setLayout

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值