J'ai vu beaucoup de questions sur la suppression de la bordure d'une fenêtre PopupWindow en passant null ou new Drawable () à setBackgroundDrawable (). J'ai le problème opposé. Je souhaite une bordure autour de ma fenêtre Popup, de préférence avec une flèche d’info-bulle pointant vers mon ancre. Actuellement, ma fenêtre pop-up n'a pas de frontière. J'ai essayé d'ajuster les marges, l'arrière-plan dans le fichier xml, la largeur et la hauteur des lignes de présentation, listview et listview, mais en vain. Quelqu'un peut-il m'aider s'il vous plaît à obtenir une bordure et une image sur le dessus? J'essaie de rester avec le Android SDK avec ceci.
popup_menu_list.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:orientation="vertical" >
<com.github.jeremiemartinez.refreshlistview.RefreshListView
Android:id="@+id/popup_menu_list_listview"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:background="@color/color_white" />
</LinearLayout>
Java
private void displayPopupMenu() {
LayoutInflater layoutInflater = getLayoutInflater();
View popupView = layoutInflater.inflate(R.layout.popup_menu_list, null);
final PopupWindow popupWindow = new PopupWindow(popupView, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
RefreshListView myListView = (RefreshListView) popupView.findViewById(R.id.popup_menu_list_listview);
mAdapter = new myAdapter(this, getAdapterData());
myListView.setAdapter(mAdapter);
popupWindow.showAsDropDown(mMyAnchor);
}
J'ai juste pris ces exemples comme exemples, mais je veux quelque chose comme ceci où la popup pointe vers l'ancre:
Mais je reçois quelque chose comme ça:
Il existe de nombreuses bibliothèques et codes disponibles dans Market. Les liens sont donnés ci-dessous:
Ceci est le modèle d'interface utilisateur QuickAction. Jeter un coup d'œil à:
Une autre alternative serait les "super-info-bulles":
https://github.com/nhaarman/supertooltips
En voici une démo:
https://play.google.com/store/apps/details?id=com.haarman.supertooltips
De ce premier lien/exemple ressemble à l'image ci-dessous. Ce ne sont que des démos, mais vous pouvez les personnaliser selon vos besoins.
Si vous recherchez une bibliothèque simple, j'ai créé celle basée sur PopupWindow.
Vous pouvez simplement utiliser PopupWindow avec une vue avec un arrière-plan vectoriel:
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:width="24dp"
Android:height="20dp"
Android:viewportHeight="162"
Android:viewportWidth="196">
<path
Android:fillColor="@color/black"
Android:pathData="M0 26.9917C0 12.0846 12.09433 0 26.99583 0L169.0042 0C183.9136 0 196 12.09104 196 26.9917L196 100.0083C196 114.9154 183.9057 127 169.0042 127L124 127L98.5 162L73 127L26.99583 127C12.08644 127 0 114.909 0 100.0083L0 26.9917" />
</vector>
Vous trouverez une réponse plus détaillée à l’adresse https://github.com/florent37/ViewTooltip , ce qui vous permet de contrôler de nombreuses choses, y compris la direction à partir de votre vue. Une discussion et quelques méthodes peuvent être trouvées ici .
Vous pouvez créer votre propre info-bulle personnalisée en utilisant uniquement xml. J'ai écrit une démo https://github.com/nidhinek/Android-tooltip basé sur PopupWindow