Android PopupWindow avec tooltip Arrow
j'ai vu beaucoup de questions sur la suppression de la bordure D'un PopupWindow en passant null ou new Drawable() à setBackgroundDrawable(). Je vais avoir le problème inverse. Je veux une bordure autour de mon PopupWindow, de préférence avec une flèche pointant vers mon ancre. Actuellement, mon PopupWindow n'a pas de Frontière. J'ai essayé d'ajuster les marges, le fond dans le xml, la largeur et la hauteur de la mise en page, listview, et les lignes de listview en vain. Quelqu'un peut-il svp m'aider à avoir une frontière et une image sur le dessus? J'essaie de rester avec le SDK androïde avec ça.
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, mais je veux quelque chose comme ça où le popup pointe vers l'ancre:
Mais j'obtiens quelque chose comme ceci:
5 réponses
il y a beaucoup de bibliothèques et de codes disponibles sur le marché. Les liens sont donnés ci-dessous:
voici le schéma D'interface utilisateur à action rapide. Jetez un oeil à:
une autre alternative serait "super-info-bulles":
https://github.com/nhaarman/supertooltips
Voici une démo de:
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 personnaliser selon vos besoins.
si vous cherchez une bibliothèque simple, j'en ai créé une basée sur PopupWindow.
Vous pouvez simplement utiliser PopupWindow avec vue avec fond 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 pouvez créer votre propre tooltip personnalisé en utilisant xml seulement. J'ai écrit une démo https://github.com/nidhinek/android-tooltip sur la base de PopupWindow
une réponse plus détaillée peut être trouvée à https://github.com/florent37/ViewTooltip qui vous permet de contrôler beaucoup de choses, y compris la direction de votre vue. Une discussion et quelques méthodes peuvent être trouvées ici.