39 votes

Android comment faire en sorte que View surligne lorsque vous cliquez dessus?

J'ai une disposition linéaire dans laquelle chaque ligne est gonflée par programme et je veux que les lignes se comportent comme le ListView lorsqu'on clique dessus. C'est-à-dire que je veux que la ligne soit mise en évidence de la même manière / couleur que le ListView par défaut. Comment pourrais-je m'y prendre?

57voto

Kman Points 1098

Ok j'ai enfin trouvé comment faire...en gros, c'est fait à l'aide d'un sélecteur comme le sélecteur de couleur lié par le style, sauf au lieu de 'couleur' utiliser un drawable pour les etats et vous pouvez vous référer à la liste par défaut drawable qui est utilisé dans la ListView par ceci:

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

et en utilisant ce code xml comme arrière-plan de mon point de Vue.

Tous les publics par défaut un drawable peuvent être trouvés ici: http://developer.android.com/reference/android/R.drawable.html

23voto

davenpcj Points 3424

J'ai été capable de faire la même chose avec une vue de texte que je voulais me comporter comme un élément de liste en utilisant:

 <Textview
....
android:background="@android:drawable/list_selector_background"
/>
 

2voto

st0le Points 15318

Cela pourrait être un bon endroit pour commencer à chercher.

Bien que, je vous conseillerais d'utiliser ListView lui-même, plutôt que de le réimplémenter.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X