Aller au contenu

[Résolu] Textview: Changer la couleur quand je clique dessus


Z!dd0

Recommended Posts

Salut!

J'ai un LinerLayout avec une TextView et une ImageView J'aimerais faire la meme chose qu'avec un bouton: wquand on cliques, le background change. J'arrive a faire ca quand je focus sur l'objet (avec la trackball), mais pas quand je clique :(

J'ai essaye plein de choses differentes, mais rien n'a fonctionne... Des idees?

merci d'avance

Mon Linear Layout:

        android:orientation="horizontal"
       android:id="@+id/widgetProvider"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:focusableInTouchMode="true"
       android:clickable="true"
       android:layout_margin="1dip"
       android:background="@drawable/textview">

           android:id="@+id/imgProvider"
           android:layout_width="60dip"
           android:layout_height="fill_parent"
           android:layout_marginRight="5dip"
           android:src="@drawable/icon" />

               android:layout_width="fill_parent"
               android:layout_height="fill_parent" 
               android:maxHeight="10dip"
               android:text="@string/provider"
               android:gravity="center_vertical">


Mon background qui change (textview.xml)





Modifié par Z!dd0
Lien vers le commentaire
Partager sur d’autres sites

Comme ca tu veux dire???

        android:orientation="horizontal"
       android:id="@+id/widgetProvider"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:focusableInTouchMode="true"
       android:clickable="true"
       android:layout_margin="1dip"
       android:background="@drawable/textview">

           android:id="@+id/imgProvider"
           android:layout_width="60dip"
           android:layout_height="fill_parent"
           android:layout_marginRight="5dip"
           android:src="@drawable/icon" />

               android:layout_width="fill_parent"
               android:layout_height="fill_parent" 
               android:maxHeight="10dip"
               android:text="@string/provider"
               android:gravity="center_vertical">


Lien vers le commentaire
Partager sur d’autres sites

Oui comme ça en séparant bien :

                            android:id="@+id/btnProvider" 
               android:layout_width="fill_parent"
               android:layout_height="fill_parent" 
               android:maxHeight="10dip"
               android:text="@string/provider"
               android:gravity="center_vertical">

Ensuite il faut que tu codes ton click avec un OnClickListener

Tu peux le faire avec un TextView aussi puisque TextView dérive de View qui a OnClickListener (Button dérive de TextView aussi :p)

Modifié par Fluckysan
Lien vers le commentaire
Partager sur d’autres sites

Merci a tous de vos reponses :)

En fait, on peut voir dans le layout que mon element principal se compose d'une image (a gauche) et d'une zone de texte (a droite). Basiquement, c'est ca:

*********************************

| | |

| Image | Texte Texte |

| | |

*********************************

Ce que je veux, c'est que quand je clique sur le tout (n'importe ou), cela fonctionne comme un bouton et ca fasse une action.

J'arrive a faire ca, sauf que cet element ne se highlighte pas. Il ne change pas de couleur quand on appuie dessus alors que j'ai bien mentionne dans le layout le "state_pressed"

J'espere que vous comprenez un peu mieux mon probleme ;)

Lien vers le commentaire
Partager sur d’autres sites

Bah il suffit d'utiliser un Bouton et de lui affecter une image avec l'attribut drawableLeft :

                                       android:drawableLeft="@android:drawable/ic_menu_add"
                                       android:layout_width="fill_parent"
                                       android:layout_gravity="center_horizontal"
                                       android:id="@+id/BtnCreateAlbum" />

non ?

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...