Kordanof86 Posté(e) 8 juin 2013 Share Posté(e) 8 juin 2013 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 More sharing options...
Invité Posté(e) 8 juin 2013 Share Posté(e) 8 juin 2013 Essaie de jeter un oeil aux OnTouchListener. Un exemple ici : http://stackoverflow.com/questions/3784514/capture-button-release-in-android Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kordanof86 Posté(e) 8 juin 2013 Auteur Share Posté(e) 8 juin 2013 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 More sharing options...
Invité Posté(e) 9 juin 2013 Share Posté(e) 9 juin 2013 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 More sharing options...
Kordanof86 Posté(e) 9 juin 2013 Auteur Share Posté(e) 9 juin 2013 Merci beaucoup !!!!!!!!! Comment mettre le sujet en résolut ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité Posté(e) 10 juin 2013 Share Posté(e) 10 juin 2013 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 More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.