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
Odpowiedz
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.
Mam pewne problemy z oknem dialogowym i okienkiem! Co wybieram, gdy chcę zasugerować użytkownikowi jakieś informacje? –
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ć.
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.
- 1. Kiedy używać EntityManager.find() kontra EntityManager.getReference()
- 2. Kiedy używać IModelBinder kontra DefaultModelBinder
- 3. kiedy używać na.omit kontra complete.cases
- 4. python: lista kontra krotka, kiedy używać każdego?
- 5. Kiedy używać UIKIT_EXTERN kontra tylko extern
- 6. Kiedy używać ModelAndView kontra Model na wiosnę?
- 7. Kiedy używać kontrolera API kontra kontrolera MVC
- 8. TaskCompletionSource: Kiedy używać SetResult() kontra TrySetResult() itd
- 9. Kiedy używać marionetki kontra czysty kręgosłup
- 10. Kiedy używać Formatera wartości i kiedy używać Resolvera wartości
- 11. Kiedy używać Dagger w aplikacji na Androida?
- 12. Kiedy używać wartości domyślnych kontra konstruktor initialize na modelu
- 13. Kiedy używać Assert.Catch kontra Assert.Throws in Unit Testing
- 14. kiedy używać DataFrame.eval() kontra pandas.eval eval() lub() Pythona
- 15. Kiedy używać node.js i kiedy używać ajax?
- 16. kiedy używać zadania i kiedy używać wątku?
- 17. Kiedy używać viewDidLoad i kiedy używać awakeFromNib
- 18. Kiedy używać klasy przeciw dyktowaniu w pythonie?
- 19. Prawidłowy dialog dla nadpowiedzi Dialog
- 20. Kiedy używać mapy ArrayMap dla Androida zamiast HashMap?
- 21. Fragmenty Androida: Kiedy używać ukrywania/pokazywania lub dodawania/usuwania/zamiany?
- 22. Kiedy należy używać uprawnienia ACCESS_COARSE_LOCATION?
- 23. PopupWindow z zamawianiem
- 24. GLSurfaceView w PopupWindow
- 25. Kiedy używać lokalnych lub zdalnych aktorów?
- 26. Przerwij kontra przycisk Anuluj: Kiedy używam Przerwij, kiedy anulujesz?
- 27. PHP: Kiedy używać funkcji i kiedy używać metod statycznych?
- 28. Kiedy używać undef_method i kiedy używać metody remove_method?
- 29. Kiedy używać komponentów Seaside i kiedy używać prostych obiektów renderowania?
- 30. Kiedy używać tablicy bajtów i kiedy używać strumienia?
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). –