Zoeken…


Invoering

Toast-berichten zijn de meest eenvoudige manier om feedback aan de gebruiker te geven. Standaard biedt Android grijze toast met berichten waar we het bericht en de duur van het bericht kunnen instellen. Als we meer aanpasbare en herbruikbare toast-berichten moeten maken, kunnen we deze zelf implementeren met behulp van een aangepaste lay-out. Belangrijker is dat wanneer we het implementeren, het gebruik van het Singelton-ontwerppatroon het gemakkelijk maakt voor het onderhouden en ontwikkelen van de aangepaste toast-berichtklasse.

Syntaxis

  • Toast Toast (context contex)
  • void setDuration (int duur)
  • void setGravity (int zwaartekracht, int xOffset, int yOffset)
  • void setView (weergave bekijken)
  • ongeldige show ()

parameters

Parameter gegevens
context Relevante context die uw toast-bericht moet weergeven. Als u dit gebruikt in de activiteitspas "dit" trefwoord of als u in fragmenten gebruikt als "getActivity ()".
visie Maak een aangepaste weergave en geef dat weergaveobject hieraan door.
zwaartekracht Passeer de zwaartekrachtpositie van de broodrooster. Alle positie is toegevoegd onder de klasse Zwaartekracht als de statische variabelen. De meest voorkomende posities zijn Gravity.TOP, Gravity.BOTTOM, Gravity.LEFT, Gravity.RIGHT.
xOffset Horizontale offset van het toastbericht.
yOffset Verticale offset van het toastbericht.
looptijd Duur van de toastshow. We kunnen Toast.LENGTH_SHORT of Toast.LENGTH_LONG instellen

Opmerkingen

Toast-bericht is een eenvoudige manier om de gebruiker feedback te geven over wat er gebeurt. Als je een meer geavanceerde manier nodig hebt om feedback te geven, kun je dialogen of snackbar gebruiken.

Raadpleeg deze documentatie voor meer informatie over het toastbericht. https://developer.android.com/reference/android/widget/Toast.html

Maak een eigen singleton-klasse voor toastmassages

Hier is hoe je je eigen singleton-klasse voor toast-berichten kunt maken. Als je toepassing succes-, waarschuwings- en gevarenberichten voor verschillende gebruikssituaties moet tonen, kun je deze klasse gebruiken nadat je het hebt aangepast aan je eigen specificaties.

    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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow