Attention, le contenu cet article est peut-être obsolète !
Petit tutoriel pour créer un toast, personnalisé ou non.Comme présenté rapidement dans un article précédent, un toast est un message d'information non bloquant, par exemple "batterie faible". Il ne bloque pas l'activité en cours par l'utilisateur. Voici comment créer un toast, standard ou personnalisé.
Note : vous devez savoir comment récuperer le context de l'application.
Ce n'est pas très sorcier :
//Affichage de courte durée
Toast.makeText(getApplicationContext(), "mon message", Toast.LENGTH_SHORT).show();
//Affichage de longue durée
Toast.makeText(getApplicationContext(), "mon message", Toast.LENGTH_LONG).show();
Note : l'idéal serait de le faire dans une classe dédiée, afin de le rendre réutilisable facilement.
Créez vous une vue dédiée au toast, avec par exemple une image et un texte. Maintenant, utilisez ce code :
// Chargement du layout
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.custom_toast,
(ViewGroup) findViewById(R.id.custom_toast_layout_id));
// Chargement de l'image du toast
ImageView image = (ImageView) layout.findViewById(R.id.image);
image.setImageResource(R.drawable.ic_launcher); //Ici on utilise l'icone de l'application en guise d'image
// Ecrire le message
TextView text = (TextView) layout.findViewById(R.id.text);
text.setText("Button is clicked!");
// Et pour finir...
Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG); //Message long
toast.setView(layout);
toast.show();