111 votes

Quelle est la durée d'un toast ? LENGTH_LONG et LENGTH_SHORT

J'ai besoin de la durée exacte de LENGTH_LONG et LENGTH_SHORT en millisecondes (ms). J'ai également besoin de savoir si la durée du message Toast avec LENGTH_LONG aura la même durée sur n'importe quel téléphone et avec n'importe quelle version de l'API.

Quelqu'un sait-il où est définie la durée ? je veux dire définie en ms . Je sais que LENGTH_LONG est un int const avec la valeur 1. Mais je n'ai pas pu trouver où est définie la durée réelle.

0 votes

Avez-vous essayé de spécifier simplement les milliseocnds dans setDuration() ? Les docs disent qu'il doit être configurable par l'utilisateur, mais ne sont pas spécifiques sur ce point.

2voto

Hitesh Sahu Points 12561

LENGTH_SHORT & LENGTH_LONG sont mis en correspondance avec l'intervalle de temps de 1 seconde (1000mS) & 5 secondes (5000mS) respectivement,

Pour voir cela, vous devez creuser dans le code source AOSP de Toast. Dans la classe Toast, l'intervalle de temps est décidé sur la base du FLAG

mParams.hideTimeoutMilliseconds = mDuration == Toast.LENGTH_LONG ? LONG_DURATION_TIMEOUT : SHORT_DURATION_TIMEOUT ;

donde

  static final long SHORT_DURATION_TIMEOUT = 5000;
  static final long LONG_DURATION_TIMEOUT = 1000;

https://Android.googlesource.com/platform/frameworks/base/+/f4bed684c939b0f8809ef404b8609fe4ef849263/core/java/Android/widget/Toast.java

0voto

Mart Points 27

Par le biais de essais et erreurs J'ai trouvé Toast.LENGTH_LONG est très proche de 2500ms

-1voto

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X