2

J'ai un bouton image.Android: comment puis-je changer la couleur d'un textview quand un bouton est pressé avec le sélecteur XML

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="true" android:drawable="@color/default_blue" /> 
</selector> 

et moi cela en java avec::

tempIBtn.setBackgroundResource(R.drawable.buttons_drawable_resource); 

J'ai un textview et un pic sur le bouton d'image I cela a créé XML sélecteur pour changer son arrière-plan quand il est pressé ... comme (en plus de l'image de cette imageButton.)

Je veux changer la couleur de cette textview et pic quand l'imageButton est pressé mais dans l'étiquette de sélecteur je peux juste changer des attributs d'imageButton pas d'autres textviews et ... Comment Je fais ça?

+0

une image sur le bouton d'image (en plus de l'image de cette imageButton.) Cette ligne est un peu déroutant. Pour changer la couleur de la vue, vous devez créer un autre fichier XML et le définir en tant qu'arrière-plan en textview lorsque vous appuyez sur tempIBtn. –

+0

merci :) mon imagebutton et une disposition linéaire sont dans un framelayout ... le LinearLayout contient un textview et une image ... et comment je peux faire ceci? J'ai créé une autre ressource xml pour changer le drawable en blanc ... mais comment puis-je l'utiliser en java? comment puis-je dire quand le bouton est cliqué changer la couleur de la vue de texte? – user5254345

+0

sur le bouton cliquez évidemment. à l'intérieur du bouton cliquez sur le code que vous pouvez mais pour changer la couleur du texte –

Répondre

1

Vous avez mentionné que vous souhaitiez changer la couleur de textview mais jamais mentionné la couleur du texte dans le textview. Cela peut être fait très facilement en utilisant le même fichier de sélection. Mettez en œuvre de cette façon pour une implémentation correcte, de sorte que vous pouvez simplement faire avancer les choses dans onclicklistener pas besoin de gérer les états des boutons. Modifier votre fichier de sélection comme

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="true" android:drawable="@color/default_blue" android:color="@color/default_blue"/> 
<item android:state_pressed="false" android:drawable="@color/default_color" android:color="@color/default_color"/> 
</selector> 

dans le jeu de votre mise en page xml pour textview

android:textColor = "@drawable/buttons_drawable_resource" 

Note: Ne sautez pas ajouter android: state_pressed = « false » dans le sélecteur comme je l'ai donné ci-dessus avec des sélections par défaut pour le bouton ainsi que la couleur du texte textview sinon il va planter avec NPE.

+0

merci beaucoup ... il résolu par onTouchListener ... Je veux changer la couleur du texte dans textView :) – user5254345