Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question sur la gestion de clic sur android

Sujet résolu
    1 juillet 2013 à 23:42:21

    Bonsoir à tous,

    je suis en phase d'apprentissage de programmation android et comme l'indique le titre j'ai une question en se qui concerne la gestion des clics.
    Le contexte est le suivant : je souhaite que mon programme réagisse d'une certaine manière à un clic sur la moitié droite de l'écran, et d'une manière différente à un clic sur la moitié gauche de l'écran.

    J'ai tout de suite pensé à faire 2 Button géant qui seraient invisible ainsi qu'au premier plan pour qu'on puisse voir l'application en arrière plan tout en interagissant avec elle via ces 2 Button.

    Mais étant débutant, je ne sait pas encore qu'est ce qui serais le plus judicieux. De plus je n'ai pas trouver d'attribut XML capable de gérer les plan (pourtant il y en a forcément un non ?)

    Merci d'avance pour vos réponse :)

    • Partager sur Facebook
    • Partager sur Twitter
      2 juillet 2013 à 15:26:42

      Au cas ou quelqu'un aurai le même problème je tien à dire que j'ai trouvé une solution. Comme je n'arrivai pas à rendre les Button totalement transparent avec l'attribut android:alpha="100" et qu'avec android:visibility="invisible" mes Button ne pouvaient pas être cliqués, j'ai finalement remplacé les Button par de simples View et je les est rendu cliquable :

      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          tools:context=".MainActivity" 
          android:orientation="horizontal">
      
          <ImageView
              android:contentDescription="@drawable/invenders"
              android:id="@+id/alien"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:src="@drawable/invenders" />
          
         	<LinearLayout android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:orientation="horizontal"
          android:weightSum="100">
      	    <View 
      		    android:id="@+id/myclickable1"
      		    android:layout_width="wrap_content"
      		    android:layout_height="fill_parent"
      		    android:layout_weight="50"
      		    android:clickable="true"/>
      	    <View 
      		    android:id="@+id/myclickable2"
      		    android:layout_width="wrap_content"
      		    android:layout_height="fill_parent"
      		    android:layout_weight="50"
      		    android:clickable="true"/>
         	</LinearLayout>
      </RelativeLayout>
      • Partager sur Facebook
      • Partager sur Twitter
        7 juillet 2013 à 16:44:50

        Salut Serronimo

        Je ne sais pas si la solution que tu as trouvée te convient parfaitement (vu que tu n'as pas mis le sujet en résolu)
        Donc je me permet de mettre la méthode que je trouverais la plus adéquate.

        En admettant que la vue principale de ton activité et soit contenue dans l'objet "myView", tu peux y ajouter la méthode suivante :

        myView.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    if (event.getAction() == MotionEvent.ACTION_DOWN){
                        if(event.getX()<=myView.getWidth())
                            textView.setText("Touché à gauche");
                        else
                            textView.setText("Touché à droite");
                    }
                    return true;
                }
            });

        Comme ça pas besoin de boutons !
        (désolé, pas le temps d'essayer en vrai mais normalement ça devrait marcher)

        • Partager sur Facebook
        • Partager sur Twitter
          7 juillet 2013 à 23:24:01

          ça ma l'air beaucoup mieux comme ça mais ça devrait pas être "if(event.getX()<=myView.getWidth()/2)" ??
          • Partager sur Facebook
          • Partager sur Twitter

          Question sur la gestion de clic sur android

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown