QuickContactBadge ou fenêtre contextuelle dans Android
-
29-10-2019 - |
Question
Il y a une liste personnalisée dans mon activité. Chaque élément de la liste a un bouton d'image sur le côté gauche. Je souhaite afficher la fenêtre contextuelle lorsque le bouton est cliqué. Et la fenêtre contextuelle a des boutons d'image comme le message de chat. Je veux une fenêtre contextuelle comme lorsque QuickContactBadge est cliqué. Comment puis-je faire ceci? Et puis-je utiliser QuickContactBadge (dans Lister mes propres contacts et non le contact du téléphone)? De l'aide....?
La solution
Vous pouvez créer un boîte de dialogue personnalisé en étendant un Dialog
Et mettre votre propre coutume View
à l'intérieur avec tous les boutons que vous aimez.
Mise à jour:
Je viens de vérifier (visuellement) le QuickContactBadge. Le problème dans votre cas sera de savoir comment le positionner correctement afin qu'il le fera pointer vers l'élément ListView correct que l'utilisateur a cliqué. Solutions possibles:
Mettez votre disposition ListView existante dans un
FrameLayout
et mettre un videAbsoluteLayout
au-dessus. Lorsque l'élément ListView est cliqué, calculez les coordonnées et dessinezQuickContactBadge
dans leAbsoluteLayout
aux bonnes coordonnées afin qu'elle pointe vers l'élément cliqué. Je n'ai jamais essayé donc je ne sais pas comment cela fonctionnerait bien:Utilisation
ExpandableListView
qui étend l'élément lorsqu'il est cliqué. Dans cet élément étendu, vous pourriez montrer leQuickContactBadge
Ou juste quelques boutons que vous souhaitez.
Personnellement, j'irais avec la 2e approche.