Android PopupWindow с подсказкой для стрелок
Я видел много вопросов об удалении границы PopupWindow, передавая null или new Drawable() в setBackgroundDrawable(). У меня противоположная проблема. Мне нужна граница вокруг моего PopupWindow, желательно с стрелкой всплывающей подсказки, указывающей на мой якорь. В настоящее время мой PopupWindow не имеет границ. Я попытался настроить поля, фон в xml, ширину и высоту макетов, listview и listview строк безрезультатно. Может кто-нибудь, пожалуйста, помогите мне получить границу и изображение сверху? Я пытаюсь придерживаться Android SDK с этим.
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);
}
Я просто взял их в качестве примеров, но мне нужно что-то вроде этого, когда всплывающее окно указывает на якорь:
![enter image description here]()
Но я получаю что-то вроде этого:
![enter image description here]()
Ответы
Ответ 1
В Market есть много библиотек и кодов. Ссылки приведены ниже:
Это шаблон пользовательского интерфейса QuickAction. Взгляните на:
Другой альтернативой может быть "супер-подсказки":
https://github.com/nhaarman/supertooltips
Вот демоверсия:
https://play.google.com/store/apps/details?id=com.haarman.supertooltips
Из этой первой ссылки/примера выглядит изображение ниже.
Это просто демонстрации, но вы можете настроить их согласно вашему требованию.
![enter image description here]()
Ответ 2
Я написал демо, это может помочь вам!
https://github.com/michaelye/EasyDialogDemo
![enter image description here]()
Ответ 3
Если вы ищете простую библиотеку, я создал ее на основе PopupWindow.
https://github.com/douglasjunior/android-simple-tooltip
![Demo]()
Ответ 4
Вы можете создать свою собственную всплывающую подсказку, используя только xml. Я написал демо https://github.com/nidhinek/android-tooltip на основе PopupWindow
Ответ 5
Вы можете просто использовать PopupWindow с представлением с векторным фоном:
<?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>