Aller au contenu

Effet de bouton sur imageview


Kordanof86

Recommended Posts

Bonjour à tous et à toutes,

Je suis actuellement en train de faire une soundbox (clic sur un bouton= un son)

or j'utilise un imageview en guise de bouton et j'aimerais recréer l'effet de clic (c'est à dire un changement de l'image, j'utiliserais une autre image avec mon propre filtre) or je ne vois vraiment pas comment faire, j'arrive à changer l'image lors du clic mais lorsque je lache il reste avec cette nouvelle image.

voici un bout de code pour un bouton :

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

zerm.setonclickListener(new onclickListener(){

@Override

public void onclick(View v) {

playSound(R.raw.zerm);

zerm.setBackgroundResource(R.id.rire1);

}

});

Merci

Bonne soirée

Lien vers le commentaire
Partager sur d’autres sites

Merci, je me suis penché dessus mais je n'arrive toujours pas à faire en sorte que lors du relachement du clic l'image naturel reviennent.

Je ne trouve pas la MotionEvent correspondante :

public boolean onTouch(View v,MotionEvent motion){

if (motion.getAction()==MotionEvent.ACTION_DOWN)

{

playSound(R.raw.zerm);

zerm.setImageResource(R.drawable.zerm2);

}

if (motion.getAction()==MotionEvent.ACTION_CANCEL ) {

zerm.setImageResource(R.drawable.1);

}

if (motion.getAction()==MotionEvent.ACTION_OUTSIDE ) {

zerm.setImageResource(R.drawable.2);

}

if (motion.getAction()==MotionEvent.ACTION_MOVE ) {

zerm.setImageResource(R.drawable.3);

}

return true;

}

Lien vers le commentaire
Partager sur d’autres sites

C'est l'événement MotionEvent.ACTION_UP que tu dois récupérer pour remettre ton image initiale.

J'ai testé ça en émulateur, ça fonctionne parfaitement :

final ImageView zerm = (ImageView) findViewById(R.id.zerm);
zerm.setOnTouchListener(new View.OnTouchListener() {
   @Override
   public boolean onTouch(View view, MotionEvent motionEvent) {
       ImageView imView = (ImageView) view;
       if(motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
           imView.setImageResource(R.drawable.image_down);
           return true;
       }
       else if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
           imView.setImageResource(R.drawable.image_up);
           return true;
       }
       return false;
   }
});

Lien vers le commentaire
Partager sur d’autres sites

Un petit tag [Résolu] dans le titre de ton sujet, en éditant le premier message, devrait suffire.

Bon développement ! :)

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...