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();
        }
    }


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow