Toasts

Fenêtres informationnelles dans Android

Ce site ne sera plus alimenté de contenu après août 2014. Tous les nouveaux articles seront redigés pour www.waitingforcode.com

Parfois l'affichage des dialogs peut paraître trop compliqué et inaproprié à la situation. Dans certains cas est donc préférable d'éviter de créer ces dialogs. Android possède un autre élément graphique qui aide à avertir l'utilisateur d'une action du système. Il s'agit d'élément joyeusement nommé Toast.

Toast sous Android

Toast est un message d'alerte qu'on peut comparer à la méthode alert() du JavaScript. Cependant, la différence fondamentale repose dans le fait que Toast ne nécessite aucune action de la part de l'utilisateur. Il s'affiche pendant un certain temps et disparaît. Tandis qu'alert() oblige l'utilisateur à cliquer sur, par exemple, OK, pour se fermer.

Toast apparaît donc comme un bon moyen de notifier l'utilisateur sur la réalisation d'une action. Pendant le temps d'affichage de ce message, l'activité reste active. L'utilisateur peut donc simultanément voir le Toast et naviguer sur l'écran. Toast possède quelques caractéristiques :
- temps d'affichage : LENGTH_LONG pour une longue période, LENGTH_SHORT pour une période courte
- placement sur l'écran

Implémenter Toast sous Android

La création d'un Toast peut se faire en une seule ligne de code. Tout d'abord on appelle la méthode statique makeText() en lui passant les paramètres obligatoires. Ensuite on appelle la méthode show() qui fait apparaître le message sur l'écran. Les paramètres à passer sont, en ordre :
- l'instance du Context
- le message
- le temps d'affichage

Voici le code qui montre comment afficher un Toast :

Toast.makeText(this, getResources().getString(R.string.success_preferencies_save), Toast.LENGTH_LONG).show();
Bartosz KONIECZNY Fenêtres UI

Une question ? Une remarque ?

*

*

Un conseil JavaScript

Comment supprimer un élément style sous jQuery ?

Ce framework JavaScript permet de manipuler facilement les attributs d'un élément. On peut par exemple spécifier la position de l'image de fond pour l'attribut "style" :

$('#newBackground').css('background-position' , '0 -28px');
Comment faire pour supprimer cet attribut, par exemple dans une fonction callback ? Rien de compliqué, car il suffit tout simplement de passer une valeur vide :
$('#newBackground').css('background-position' , '');