2011-01-17 12 views
24

Nie jestem pewien, kiedy używać PopupWindow vs Dialog. Każdy wgląd byłby bardzo doceniany. Dzięki.Kiedy używać Androida PopupWindow kontra Dialog

+1

Jakiś kontekst dotyczący tego, co próbujesz osiągnąć, byłby pomocny w udzieleniu odpowiedzi na twoje pytanie. Na razie wydaje się, że odpowiedź jest szeroka (zakładam, że już przeczytałeś dokumentację dla obu metod). –

Odpowiedz

4

Myślę, że powinieneś używać Dialog do prostej interakcji użytkownika (TAK, NIE). Zwykle używam Dialog dla prostej interakcji użytkownika i WindowPopup dla nieco bardziej złożonego widoku. Jednym z przykładów WindowPopup jest AutoCompleteTextView.

Mam nadzieję, że to pomaga.

+0

Mam pewne problemy z oknem dialogowym i okienkiem! Co wybieram, gdy chcę zasugerować użytkownikowi jakieś informacje? –

7

Obaj używają metody addView() wraz z różnymi metodami windowManager. Oba są podobne pod tym względem.

Wygląda na to, że okna mają więcej wbudowanych funkcji interakcji, takich jak procedury obsługi i przyciski już zawarte w klasie bazowej, a okna PopupWindows zawierają więcej wbudowanych metod pozycjonowania ich na ekranie.

Myślę, że każdy z nich może zrobić dokładnie to samo, co drugi, ale wybór pomiędzy nimi będzie kwestią wygody programisty w odniesieniu do sposobu, w jaki chcesz używać obiektu. Nie jestem doktorem nauk komputerowych, ale nie sądzę, by istniała znaczna różnica w czasie przetwarzania między tymi dwoma, w oparciu o to, co widziałem w ich definicjach klas.

Moja rada: Jeśli chcesz mieć większą kontrolę nad tym, gdzie Twój widok pojawia się na ekranie, użyj PopupWindow. Jeśli chcesz dodać więcej kontroli i opinii między widokiem, użyj okna dialogowego. Jeśli ty, tak jak ja, chcesz mieć kontrolę nad wszystkim, sugerowałbym PopupWindow, ponieważ ma mniej oczywistych metod domyślnych, które można zastąpić.

0

Uważam, że okno dialogowe powinno być używane, gdy trzeba podjąć działania, aby kontynuować. Nigdy nie zasłania ekranu i zawsze dostosowuje wyśrodkowane jako zdarzenie modalne. Po drugiej stronie, PopupWindow ma elastyczność, aby dostosować informacje w dowolnym miejscu na ekranie, jak pozycji, takich jak lepkie stopki, lepki nagłówek, na lewo, prawo, centrum itp., Jak na zestaw lokalizacji. Dla pokazywania informacji to dobra opcja, ponieważ istnieje możliwość animacji również. W skrócie, Aby wyświetlać informacje przy minimalnym działaniu, należy użyć PopupWindow i kontrolować akcję, aby przejść dalej, korzystając z okna dialogowego.

Powiązane problemy