Disposition cliquable Android
J'ai un linéaire de la mise en page que j'ai mis vrai clikable + focus, Mais le problème est que il n'y a pas d'accent affiche lorsque l'utilisateur clique dessus. Comment puis-je obtenir le focus à être affichée.
Voilà mon code
<LinearLayout
android:id="@+id/linear_tv_layout"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:paddingBottom="7px">
source d'informationauteur M2Gd
Vous devez vous connecter pour publier un commentaire.
Je pense que vous devez définir comme arrière-plan pour l'cliquable (vue de la mise en page) un de l'etat liste drawable , c'est un drawable ressource pour laquelle vous pouvez spécifier un drawable différents pour différents états ou des combinaisons d'états, il y en a une pour la sélection, l'un pour la pression et ainsi de suite. Aussi, l'état d'une mise en page se propage à tous ses enfants.
PRÉCISIONS - c'est l'exemple de l'ancien et lié docs:
res/drawable/button.xml :
(c'est l'état de la liste drawable)button_pressed
button_focused
etbutton_normal
sont normales un drawable représentant le bouton dans ces états, probablement png (tellement pressé pourrait être encadré, porté surligné en orange).si vous définissez cette ressource à l'arrière-plan de votre "linéaire bouton mise en page":
concentrent désormais sur la mise en page sera automatiquement son image d'arrière-plan à
@drawable/button_focused
et ainsi de suite.bien sûr, tous les un drawable vous utilisez doit être déjà ressources en
res/drawable/
avecbutton.xml
.À appliquer la conception de matériel de appuyez sur le bouton de l'animation à tout élément, définissez l'élément android attribut background:
Dans votre cas:
@danLeon:
Au lieu de
android:background="@android:drawable/btn_default"
vous devez utiliser
android:background="@android:drawable/list_selector_background"
ancienne volonté de modifier l'INTERFACE utilisateur, ce qui n'est pas nécessaire.
Essayons d'apporter cette mise en page à l'avant dans le code:
Si cela ne fonctionne pas, vérifier si il y a un ou plusieurs vue se chevauchent plus que LinearLayout.
Heres un exemple de mise en page peut être cela peut vous donner une idée:
Un moyen simple est par définition de cet attribut:
android:background="@android:drawable/btn_default"