如何在动画图像上管理OnClickListener?

时间:2015-02-13 09:10:37

标签: android animation onclick ontouchlistener

我有一只蜜蜂的动画图片。 我为onClick设置了imageView监听器,它正在运行,但只能在imageView的原生位置,但在动画时不能。 我也尝试使用onTouchListener,但结果是一样的。

onClick制作动画时如何让onTouchListenerImageView工作?

动画:

<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;
        }
    });

1 个答案:

答案 0 :(得分:0)

使用android:fillAter="true"fillAfter控制动画的结束值在结束后是否仍然存在。默认情况下,动画后的视图状态与动画前的状态相同。例如:假设,在动画视图的x位置为10之前,并且您正在将x翻译为100,在动画之后,该位置仍然是10而不是100.但如果设置fillAfter="true",动画x之后将是100