我有一只蜜蜂的动画图片。
我为onClick
设置了imageView
监听器,它正在运行,但只能在imageView
的原生位置,但在动画时不能。
我也尝试使用onTouchListener
,但结果是一样的。
onClick
制作动画时如何让onTouchListener
或ImageView
工作?
动画:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:shareInterpolator="true">
<scale
android:repeatCount="infinite"
android:repeatMode="reverse"
android:duration="8000"
android:fromXScale="0.2"
android:toXScale="1.5"
android:fromYScale="0.2"
android:toYScale="1.5"
android:pivotY="0%"
android:pivotX="50%"/>
<translate
android:interpolator="@android:anim/bounce_interpolator"
android:fillBefore="true"
android:repeatCount="infinite"
android:repeatMode="reverse"
android:duration="2000"
android:toXDelta="35"
android:toYDelta="85"/>
<rotate
android:pivotX="50%"
android:pivotY="0%"
android:fromDegrees="360"
android:toDegrees="0"
android:duration="6000"
android:repeatMode="reverse"
android:repeatCount="infinite"/>
的onClick:
public static void onBTNClick_RidBee(Activity activity){
bee_icon = (ImageView)activity.findViewById(R.id.bee_icon);
bee_icon.clearAnimation();
}
}
onTouchListener:
bee_icon.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
Log.d("myLogs", "clear anim bee");
bee_icon.clearAnimation();
}
return true;
}
});
答案 0 :(得分:0)
使用android:fillAter="true"
。 fillAfter
控制动画的结束值在结束后是否仍然存在。默认情况下,动画后的视图状态与动画前的状态相同。例如:假设,在动画视图的x
位置为10之前,并且您正在将x
翻译为100,在动画之后,该位置仍然是10而不是100.但如果设置fillAfter="true"
,动画x
之后将是100