Saltar al contenido

¿Puede un Toast de Android ser más largo que Toast.LENGTH_LONG?

Juliana, parte de nuestro equipo de trabajo, nos ha hecho el favor de redactar este tutorial porque controla perfectamente el tema.

Si profundiza en el código de Android, puede encontrar las líneas que indican claramente que no podemos cambiar la duración del mensaje Toast.

 NotificationManagerService.scheduleTimeoutLocked() 
    ...
    long delay = immediate ? 0 : (r.duration == Toast.LENGTH_LONG ? LONG_DELAY : SHORT_DELAY);
    

y los valores predeterminados para la duración son

private static final int LONG_DELAY = 3500; // 3.5 seconds
private static final int SHORT_DELAY = 2000; // 2 seconds

los valores de LENGTH_SHORT y LENGTH_LONG son 0 y 1. Esto significa que se tratan como banderas en lugar de duraciones reales, por lo que no creo que sea posible establecer la duración en otros valores que no sean estos.

Si desea mostrar un mensaje al usuario durante más tiempo, considere una notificación de la barra de estado. Las notificaciones de la barra de estado se pueden cancelar mediante programación cuando ya no son relevantes.

Es posible que desee probar:

for (int i=0; i < 2; i++)

      Toast.makeText(this, "blah", Toast.LENGTH_LONG).show();

para duplicar el tiempo. Si especifica 3 en lugar de 2, triplicará el tiempo, etc.

Recuerda mostrar este post si te fue útil.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *