2010-09-20 17 views
3

Android:ClickEvent sur les feux ImageView animés uniquement à la position de départ

J'ai un ImageView animé avec un onClickEvent enregistré. Je veux que ImageView se déplace sur l'écran et clique ensuite sur ImageView. Mais quand je clique sur l'image en mouvement, rien ne se passe. Lorsque je clique sur la position de l'écran, où imageView était au début, le clickEvent est déclenché. Donc, la position réelle de l'ImageView ne bouge pas avec l'animation. Quelqu'un a-t-il une idée sur la façon d'obtenir l'événement lorsque quelqu'un clique sur l'image qui bouge à l'écran?

Mon code à ce jour:

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

ont le même numéro :( – Naveed

+0

Avez-vous trouvé une solution? Question trop vieille maintenant – Naveed

Répondre

0

J'ai partagé ma solution here. J'espère que cela t'aides.