Suche…


Einführung

Toastmeldungen sind die einfachste Art, dem Benutzer eine Rückmeldung zu geben. Standardmäßig bietet Android eine graue Nachrichtentaste, in der Sie die Nachricht und die Dauer der Nachricht einstellen können. Wenn Sie eine anpassbarere und wiederverwendbare Toastnachricht erstellen müssen, können Sie sie mithilfe eines benutzerdefinierten Layouts selbst implementieren. Noch wichtiger ist bei der Implementierung, dass die Verwendung des Singelton-Entwurfsmusters die Wartung und Entwicklung der benutzerdefinierten Toast-Nachrichtenklasse vereinfacht.

Syntax

  • Toast Toast (Kontext-Kontext)
  • void setDuration (int duration)
  • void setGravity (int Schwerkraft, int xOffset, int yOffset)
  • SetView void (View View)
  • void show ()

Parameter

Parameter Einzelheiten
Kontext Relevanter Kontext, der Ihre Toastnachricht anzeigen muss. Wenn Sie dies in der Aktivität verwenden, übergeben Sie "dieses" Schlüsselwort oder wenn Sie in fragement als "getActivity ()" verwenden.
Aussicht Erstellen Sie eine benutzerdefinierte Ansicht, und übergeben Sie das Ansichtsobjekt an diese.
Schwere Übergeben Sie die Schwerkraftposition des Toasters. Alle Positionen wurden unter der Schwerkraftklasse als statische Variablen hinzugefügt. Die häufigsten Positionen sind Gravity.TOP, Gravity.BOTTOM, Gravity.LEFT, Gravity.RIGHT.
xOffset Horizontaler Versatz der Toastnachricht.
yOffset Vertikaler Versatz der Toastnachricht.
Dauer Dauer der Toastshow. Wir können entweder Toast.LENGTH_SHORT oder Toast.LENGTH_LONG einstellen

Bemerkungen

Die Toast-Nachricht ist eine einfache Möglichkeit, dem Benutzer eine Rückmeldung zu geben, wenn etwas passiert. Wenn Sie eine fortgeschrittenere Methode zur Rückmeldung benötigen, können Sie Dialoge oder eine Snackbar verwenden.

Weitere Informationen zur Toastnachricht finden Sie in dieser Dokumentation. https://developer.android.com/reference/android/widget/Toast.html

Erstellen Sie eine eigene Singleton-Klasse für Toastmassagen

So erstellen Sie Ihre eigene Singleton-Klasse für Toast-Nachrichten: Wenn Ihre Anwendung Erfolg, Warnung und die Gefahrennachrichten für verschiedene Anwendungsfälle anzeigen muss, können Sie diese Klasse verwenden, nachdem Sie sie an Ihre eigenen Spezifikationen angepasst haben.

    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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow