2010-04-02 4 views
4

Comment configurer un TextView pour qu'il clignote quand on clique dessus? Avec clignotant, je veux dire que je veux changer la couleur de fond du TextView. Je veux essentiellement l'un des objets qui est affiché dans un ListActivity, mais dans une vue normale.Android: Créer un TextView qui clignote quand on clique sur

J'ai essayé de le faire en ajoutant un OnClickListener, mais ce dont j'ai vraiment besoin, c'est d'ajouter un On (Un) SelectListener. En utilisant onClickListener, je peux changer l'arrière-plan de TextView, mais évidemment l'arrière-plan reste cette couleur. J'ai pensé à utiliser un nouveau Handler(). PostDelayed (new Runnable() {...}) genre de choses pour réinitialiser le backround après un petit moment, mais je ne savais pas si ce serait trop pour ce que j'essaie faire.

Que recommanderiez-vous?

Répondre

1

Normalement ce genre de chose est réalisé en ayant un <selector>. Par exemple:.

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" android:drawable="@drawable/pressed" /> 
    <item android:drawable="@drawable/normal" /> 
</selector> 

Le sélecteur d'arbitre entre autres dessinables en fonction de l'état de la vue, il est en vous mettriez le code XML ci-dessus dans un fichier dans res/drawable/puis l'utiliser comme arrière-plan pour votre vue . Vous devez également avoir les drawables normaux et pressés.

Vous pouvez également créer le sélecteur dessinable dans le code où il est appelé StateListDrawable.

Mais peut-être que votre solution est plus simple ...

Questions connexes