Moja aplikacja na Androida wyświetla kilka komunikatów Toast. Niedawno zainstalowałem go na Galaxy S6 z systemem Android 5.1.1 i zauważyłem, że komunikaty są wyświetlane początkowo wokół środka ekranu, a następnie przesuwają się do właściwej pozycji (blisko dołu, jeśli nie określono Grawitacji), a następnie z powrotem do początkowa pozycja przed zniknięciem.Android Toast porusza się po ekranie
Context context = getApplicationContext();
String newMsg = getString(R.string.wild_card_msg);
Toast mToast = Toast.makeText(context, newMsg, Toast.LENGTH_LONG);
mToast.setGravity(Gravity.CENTER, 0, 0);
mToast.show();
Aktualizacja:
- Mam zmodernizowane biblioteki obsługi, jak również zestaw SDK i kompilacji docelową SDK do najnowszej API. To nie rozwiązało problemu
- Usunąłem wszystkie wywołania .setGravity(). Bez zmiany.
- Zauważyłem, że wiadomości Toast zachowują się poprawnie przy pierwszym uruchomieniu po instalacji (czy to w trybie debugowania USB, czy też poprzez pobranie z PlayStore), ale problem pojawia się ponownie w (wszystkich) kolejnych uruchomieniach.
- Odkryłem również, że moje wiadomości Toast znikną natychmiast po dotknięciu ekranu (w dowolnym miejscu). Sądziłem, że interakcje użytkownika nie wpływają na wyświetlacze Toast.
Ktoś inny, kto ma ten problem, wie, jak to naprawić lub znać obejście tego problemu?
Proszę zauważyć, że zaakceptowałem odpowiedź Nicka, proponując snackbar jako obejście.
Należy podać kod używanego do pokaż toast. To byłoby bardzo dziwne. –
Dziękuję, David, za szybką odpowiedź. Oto przykład: Kontekst kontekst = getApplicationContext(); Ciąg newMsg = getString (R.string.wild_card_msg); Toast mToast = Toast.makeText (context, newMsg, Toast.LENGTH_LONG); mToast.setGravity (Gravity.CENTER, 0, 0); mToast.pokazać(); –
Proszę edytować pytanie i nie wpisywać kodu w komentarzach. czy jest jakiś powód, dla którego ustawiłeś grawitację na swoim toście? Po raz pierwszy widzę, jak ktoś robi * to * –