Używam Toast z niestandardowym widoku. Inicjuję widok i wywołuję setView na toście. Toast miał unosić się na górze i nie otrzymywać informacji o fakcie i dotykać zdarzeń, i to działało dobrze. Po uruchomieniu aplikacji użytkownicy skarżyli się, że w kilku modelach telefonów, takich jak Galaxy Note, toast dostał zdarzenia dotykowe, a aplikacja pod nim nie działała.Android Toasts uzyskać zdarzeń dotykowych na niektórych telefonach, a nie na innych
Wydrukowałem flagi parametrów układu (WindowManager.LayoutParams), które widok dostaje w metodzie setLayoutParams. Okazuje się, że na większości urządzeń wartość wynosi 0x000098, ale na niektórych jest to 0x040088. Na urządzeniach, w których Toast dostaje zdarzenia dotykowe, flaga FLAG_NOT_TOUCHABLE jest usuwana, a flaga FLAG_WATCH_OUTSIDE_TOUCH jest dodawana. To tłumaczy, dlaczego toast dostaje wydarzenia dotykowe.
Ale co powoduje tę różnicę? Czy istnieje sposób, aby zmusić toast, by nie był dotykalny?
Czy znalazłeś odpowiedź? Ponadto, w jaki sposób przeczytałeś paragrafy Toast? – theJosh
To "toast.getView(). SetEnabled (false);" pracuje dla ciebie? To powinno wyłączyć wydarzenia dotykowe w widoku tostów. – domi
To pytanie ma 2 lata i nagle wróciło do życia. Nie mam urządzenia do testowania tego w tej chwili – yoah