我在图片视图上有一个onclick监听器:
guy.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
并且imageview具有以下动画:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false"
android:fillAfter="true" >
<translate
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="600"
android:fillAfter="true"
android:fromXDelta="10"
android:fromYDelta="0"
android:toXDelta="0%"
android:toYDelta="-470" />
<translate
android:interpolator="@android:anim/decelerate_interpolator"
android:startOffset="600"
android:duration="300"
android:fillAfter="true"
android:fromXDelta="10"
android:fromYDelta="0"
android:toXDelta="0%"
android:toYDelta="470" />
</set>
绝对完美。然而onclick从未被触发,为什么会这样?
编辑: 布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/background">
<ImageView
android:id="@+id/guy"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="false"
android:layout_marginTop="620dp"
android:src="@drawable/guy" />
<TextView
android:id="@+id/score"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="false"
android:layout_marginTop="20dp"
android:text="Score = 0"
android:textSize="34dp"
android:textColor="@android:color/black"
/>
</RelativeLayout>
添加动画的地方:
anim = AnimationUtils.loadAnimation(this, R.anim.translate_one);
并播放:
private void loop() {
if (clicked) {
clicked = false;
Random r = new Random();
long num = (long) (r.nextDouble() * 900L) + 500;
guy.startAnimation(anim);
guy.postDelayed(new Runnable() {
@Override
public void run() {
loop();
}
}, num);
} else {
loss();
}
}
盖伊宣称:
guy = (ImageView) findViewById(R.id.guy);
动画效果似乎非常好