Подтвердить что ты не робот

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

4b9b3361

Ответ 1

В Market есть много библиотек и кодов. Ссылки приведены ниже:

Это шаблон пользовательского интерфейса QuickAction. Взгляните на:

Другой альтернативой может быть "супер-подсказки":

https://github.com/nhaarman/supertooltips

Вот демоверсия:

https://play.google.com/store/apps/details?id=com.haarman.supertooltips

Из этой первой ссылки/примера выглядит изображение ниже. Это просто демонстрации, но вы можете настроить их согласно вашему требованию.

enter image description here

Ответ 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>