Android
Créer une classe Singleton pour le message Toast
Recherche…
Introduction
Les messages Toast constituent le moyen le plus simple de fournir un retour à l'utilisateur. Par défaut, Android fournit un message de couleur grise où nous pouvons définir le message et la durée du message. Si nous avons besoin de créer plus de messages de toast personnalisables et réutilisables, nous pouvons les implémenter nous-mêmes en utilisant une disposition personnalisée. Plus important encore, lorsque nous l’implémentons, l’utilisation du motif de conception Singelton facilitera la maintenance et le développement de la classe de message de toast personnalisée.
Syntaxe
- Toast Toast (Contexte Contexte)
- void setDuration (int duration)
- void setGravity (int gravity, int xOffset, int yOffset)
- void setView (Voir la vue)
- annuler le spectacle ()
Paramètres
Paramètre | détails |
---|---|
le contexte | Contexte pertinent qui doit afficher votre message de toast. Si vous l'utilisez dans l'activité, passez le mot-clé "this" ou Si vous utilisez la commande fring comme "getActivity ()". |
vue | Créez une vue personnalisée et transmettez cet objet à cette vue. |
la gravité | Passez la position de gravité du grille-pain. Toutes les positions ont été ajoutées sous la classe Gravity en tant que variables statiques. Les positions les plus courantes sont Gravity.TOP, Gravity.BOTTOM, Gravity.LEFT, Gravity.RIGHT. |
xOffset | Décalage horizontal du message toast. |
yOffset | Décalage vertical du message toast. |
durée | Durée du spectacle de pain grillé. Nous pouvons définir Toast.LENGTH_SHORT ou Toast.LENGTH_LONG |
Remarques
Le message Toast est un moyen simple de fournir une rétroaction à l'utilisateur à propos de quelque chose qui se passe. Si vous avez besoin d'un moyen plus avancé pour donner votre avis, vous pouvez utiliser des boîtes de dialogue ou un snack.
Pour plus de détails sur le message toast, consultez cette documentation. https://developer.android.com/reference/android/widget/Toast.html
Créer sa propre classe de singleton pour les massages de pain grillé
Voici comment créer votre propre classe singleton pour les messages toast. Si votre application doit afficher les messages de réussite, d'avertissement et de danger pour différents cas d'utilisation, vous pouvez utiliser cette classe après l'avoir modifiée selon vos propres spécifications.
public class ToastGenerate {
private static ToastGenerate ourInstance;
public ToastGenerate (Context context) {
this.context = context;
}
public static ToastGenerate getInstance(Context context) {
if (ourInstance == null)
ourInstance = new ToastGenerate(context);
return ourInstance;
}
//pass message and message type to this method
public void createToastMessage(String message,int type){
//inflate the custom layout
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout toastLayout = (LinearLayout) layoutInflater.inflate(R.layout.layout_custome_toast,null);
TextView toastShowMessage = (TextView) toastLayout.findViewById(R.id.textCustomToastTopic);
switch (type){
case 0:
//if the message type is 0 fail toaster method will call
createFailToast(toastLayout,toastShowMessage,message);
break;
case 1:
//if the message type is 1 success toaster method will call
createSuccessToast(toastLayout,toastShowMessage,message);
break;
case 2:
createWarningToast( toastLayout, toastShowMessage, message);
//if the message type is 2 warning toaster method will call
break;
default:
createFailToast(toastLayout,toastShowMessage,message);
}
}
//Failure toast message method
private final void createFailToast(LinearLayout toastLayout,TextView toastMessage,String message){
toastLayout.setBackgroundColor(context.getResources().getColor(R.color.button_alert_normal));
toastMessage.setText(message);
toastMessage.setTextColor(context.getResources().getColor(R.color.white));
showToast(context,toastLayout);
}
//warning toast message method
private final void createWarningToast( LinearLayout toastLayout, TextView toastMessage, String message) {
toastLayout.setBackgroundColor(context.getResources().getColor(R.color.warning_toast));
toastMessage.setText(message);
toastMessage.setTextColor(context.getResources().getColor(R.color.white));
showToast(context, toastLayout);
}
//success toast message method
private final void createSuccessToast(LinearLayout toastLayout,TextView toastMessage,String message){
toastLayout.setBackgroundColor(context.getResources().getColor(R.color.success_toast));
toastMessage.setText(message);
toastMessage.setTextColor(context.getResources().getColor(R.color.white));
showToast(context,toastLayout);
}
private void showToast(View view){
Toast toast = new Toast(context);
toast.setGravity(Gravity.TOP,0,0); // show message in the top of the device
toast.setDuration(Toast.LENGTH_SHORT);
toast.setView(view);
toast.show();
}
}