2010-09-20 34 views
3

Android:ClickEvent动画ImageView仅在开始位置触发

我有一个带有onClickEvent注册的动画ImageView。我想让ImageView在屏幕上移动,然后点击ImageView。但是当我点击移动的imageView时,没有任何反应。当我点击屏幕的位置,在那里imageView是在开始,clickEvent被触发。所以ImageView的真实位置不随动画移动。有人有一个想法,当有人点击屏幕上移动的图像时如何获得该事件?

我迄今为止代码:

public class OnePlayer extends Activity { 
private ImageView imageView; 
private int points; 
private TextView timeTextView; 
private TextView pointsTextView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.oneplayer); 

    timeTextView = (TextView) findViewById(R.id.time); 
    timeTextView.setText("01:00"); 

    points = 0; 
    pointsTextView = (TextView) findViewById(R.id.points); 
    pointsTextView.setText("0/500"); 

    Animation animation = new TranslateAnimation(0, 100, 0, 200); 
    animation.setDuration(2000); 
    animation.setRepeatCount(-1); 
    animation.initialize(10, 10, 10, 10); 

    imageView = new ImageView(this); 
    imageView.setImageResource(R.drawable.plus10); 
    imageView.setAdjustViewBounds(true); 
    imageView.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
    imageView.startAnimation(animation); 

    imageView.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      v.clearAnimation(); 
      v.setVisibility(View.GONE); 
      points += 10; 
      pointsTextView.setText(points + "/500"); 
     } 
    }); 


    RelativeLayout layout = (RelativeLayout) findViewById(R.id.oneplayergame); 
    layout.addView(imageView); 
} 

}

+0

也有同样的问题:( – Naveed 2012-02-14 19:31:56

+0

你有没有发现任何解决方案?问题现在太老了 – Naveed 2012-02-14 19:32:43

回答

0

我分享了我的解决方案here。希望这可以帮助。