Kordanof86 Posted June 8, 2013 Share Posted June 8, 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 Link to comment Share on other sites More sharing options...
Guest Posted June 8, 2013 Share Posted June 8, 2013 Essaie de jeter un oeil aux OnTouchListener. Un exemple ici : http://stackoverflow.com/questions/3784514/capture-button-release-in-android Link to comment Share on other sites More sharing options...
Kordanof86 Posted June 8, 2013 Author Share Posted June 8, 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; } Link to comment Share on other sites More sharing options...
Guest Posted June 9, 2013 Share Posted June 9, 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; } }); Link to comment Share on other sites More sharing options...
Kordanof86 Posted June 9, 2013 Author Share Posted June 9, 2013 Merci beaucoup !!!!!!!!! Comment mettre le sujet en résolut ? Link to comment Share on other sites More sharing options...
Guest Posted June 10, 2013 Share Posted June 10, 2013 Un petit tag [Résolu] dans le titre de ton sujet, en éditant le premier message, devrait suffire. Bon développement ! :) Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.