В моем приложении Android отображаются несколько сообщений Toast. Недавно я установил его на Galaxy S6, работая под управлением Android 5.1.1, и заметил, что сообщения отображаются сначала по центру экрана, затем они перемещаются в правильное положение (около дна, если нет гравитации), затем вернитесь к первоначальное положение перед угасанием.
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();
Update:
- Я обновил библиотеки поддержки, а также установил компиляцию-sdk и целевой sdk в новейший API. Это не устранило проблему.
- Я удалил все вызовы .setGravity(). Без изменений.
- Я заметил, что сообщения Toast ведут себя должным образом при первом выполнении после установки (будь то в режиме отладки USB или при загрузке из PlayStore), но проблема повторяется во всех последующих запусках.
- Я также обнаружил, что мои сообщения Toast немедленно исчезают, если я касаюсь экрана (где угодно). Я думал, что на дисплеях Toast не может влиять взаимодействие пользователя.
У кого-нибудь еще есть эта проблема, знаете, как ее исправить или знаете обходное решение?
Обратите внимание, что я принял ответ Ника, предлагая snackBar как обходной путь.