Android: как создать собственный выпадающий диалог? - PullRequest
0 голосов
/ 04 июля 2019

Мне нужно создать диалоговое окно, которое выпадает из нажатой позиции на экране.

Я рассмотрел использование плавающего ContextMenu, но мне нужно настроить содержимое раскрывающегося списка, чтобы отобразить мой собственный views.

context menu

Я также подумал об использовании пользовательского DialogFragment, но это недостаточно тонко и прерывает поток.

enter image description here

Как я могу создать что-то среднее?

Прекрасным примером может служить раскрывающееся диалоговое окно, используемое Duolingo:

good example

Я также рассмотрел просто добавление framelayout к точке, где пользователь щелкает, но я не уверен, как воссоздать глубину ContextMenu или как создать достойную анимацию, когда диалог исчезает и вне.

Я не хочу отображать список параметров в диалоговом окне, я хочу отобразить пользовательский макет с числом textviews и buttons.

1 Ответ

1 голос
/ 04 июля 2019

Проверьте эти библиотеки, это вам поможет

https://github.com/MasayukiSuda/BubbleLayout?utm_source=android-arsenal.com&utm_medium=referral&utm_campaign=3564

https://github.com/piruin/quickaction?utm_source=android-arsenal.com&utm_medium=referral&utm_campaign=5746

Вы также можете сделать это без библиотеки:

  1. Создать пользовательский диалог
  2. Установить анимацию диалога

    override Dialog onCreateDialog(Bundle savedInstanceState){
        ...
        Dialog dialog = new Dialog(context);
        dialog.setWindowAnimations(R.style.anim_dropdown);
        return dialog;
    }
    
  3. Изменение положения диалога на экране Android

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...