2016-09-01 3 views
1

Je souhaite créer un jeu dans lequel une image se déplace de gauche à droite et lorsque vous cliquez dessus, quelque chose se produit. Je l'ai fait bouger mais quand je clique dessus il ne se passe rien. Voici le code:OnClick ne fonctionne pas lorsque Animation est en cours d'exécution

package com.game.luc08.game; 

import android.content.res.Resources; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.animation.Animation; 
import android.view.animation.TranslateAnimation; 
import android.widget.ImageView; 
import android.widget.TextView; 

public class Game extends AppCompatActivity { 

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

    final ImageView image= (ImageView) findViewById(R.id.image); 

    final TextView test = (TextView) findViewById(R.id.test); 

    int screenWidth = this.getResources().getDisplayMetrics().widthPixels; 

    image.setOnClickListener(
      new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        test.setText("Clicked"); 
       } 
      } 
    ); 

    Animation animation = new TranslateAnimation(0, screenWidth, 0, 0); 
    animation.setDuration(5000); 
    animation.setFillAfter(true); 
    image.startAnimation(animation); 

} 

}

+0

vous devez utiliser le OnTouchListener pour ce travail –

+0

Merci, vous n'avez pas pensé à ça – 404response

Répondre

1

Au lieu de votre animation, vous pouvez essayer ViewPropertyAnimator et vous serez en mesure de détecter les clics:

image.animate().xBy(screenWidth).setDuration(5000).start();