Establecí la gravedad de mi tostada para que se muestre en la parte superior de la pantalla, con el siguiente código:
Toast toast = Toast.makeText(getActivity(), "邮箱地址不能为空!", Toast.LENGTH_SHORT); toast.setGravity(Gravity.TOP, 0, 0); toast.show();no funciona en mi AVD Nexus 6 API 30 con mensaje de LogCat:
E/Toast: setGravity() shouldn't be called on text toasts, the values won't be usedsin embargo, parece estar bien cuando instalo el apk en mi teléfono Nokia X6 con Android 9. ¡Por favor, ayúdenme!
Como se dijo en la documentación de Android sobre el método Toast setGravity , este método ya no funciona para dispositivos que ejecutan API30 o superior. Supongo que tiene targetSdk establecido en 30 para su proyecto.
Advertencia: a partir de Android Build.VERSION_CODES#R, para las aplicaciones que tienen como objetivo el nivel de API Build.VERSION_CODES#R o superior, este método no es operativo cuando se lo llama en notificaciones de texto.
FUENTE: https://developer.android.com/reference/android/widget/Toast#setGravity(int,%20int,%20int)
Los brindis de texto ya no se pueden personalizar. Deberá crear un brindis simple para personalizarlo. También deberá agregar el texto de su mensaje a un archivo Ver separado.
Toast toast = new Toast(getContext()); View toast_view = LayoutInflater.from(getContext()).inflate(R.layout.toast_text, null); toast.setView(toast_view); toast.setDuration(Toast.LENGTH_SHORT); toast.setGravity(Gravity.CENTER, 0, 0); toast.show();Si aún desea configurar la gravedad en Toasts en Android 11 y superior, consulte este artículo .