动画结束后,我无法点击视图。我搜索了很多关于这个并在stackoverflow上读取答案,并发现动画只绘制原始像素的东西。要使视图可单击,您必须移动视图。所以我写了一些代码,但这不能正常工作 这是我的代码。
anim.xml
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:fillAfter="true">
<translate
android:fromXDelta="0%p"
android:toXDelta="-50%p"
android:duration="500" />
MainActivity
Animation anim= AnimationUtils.loadAnimation(this, R.anim.anim);
anim.setAnimationListener(animLintener);
imageView.startAnimation(anim);
private Animation.AnimationListener animLintener= new Animation.AnimationListener() {
@Override
public void onAnimationEnd(Animation animation) {
int widthHeight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 30, context.getResources().getDisplayMetrics());
int marginBottom = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 36, context.getResources().getDisplayMetrics());
int marginLeft = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 36, context.getResources().getDisplayMetrics());
deactivateParams = new RelativeLayout.LayoutParams(widthHeight, widthHeight);
deactivateParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
deactivateParams.bottomMargin = marginBottom;
deactivateParams.leftMargin = marginLeft;
imageView.setLayoutParams(deactivateParams);
}
}
此代码的问题在于,在运行onAnimationEnd
动画后,它的位置发生了变化。为什么会这样。我认为一旦完成动画,它将会进一步移动,对吧?
请让我知道我错过了什么。