Sök…


Introduktion

Toastmeddelanden är det enklaste sättet att ge feedback till användaren. Som standard tillhandahåller Android grå färgmeddelande toast där vi kan ställa in meddelandet och meddelandets varaktighet. Om vi behöver skapa ett mer anpassningsbart och återanvändbart toastmeddelande kan vi implementera det själv med användning av en anpassad layout. Ännu viktigare när vi implementerar det kommer användningen av Singelton designmönster att göra det enkelt för att underhålla och utveckla den anpassade toastmeddelandeklassen.

Syntax

  • Toast Toast (Context context)
  • void setDuration (int varaktighet)
  • void setGravity (int gravity, int xOffset, int yOffset)
  • void setView (View view)
  • void show ()

parametrar

Parameter detaljer
sammanhang Relevant kontext som måste visa ditt toastmeddelande. Om du använder detta i aktivitetspasset "detta" nyckelord eller Om du använder i friktionskort som "getActivity ()".
se Skapa en anpassad vy och skicka det visningsobjektet till detta.
allvar Passera brödrostens tyngdläge. Alla positioner har lagts till under tyngdeklassen som de statiska variablerna. De vanligaste positionerna är Gravity.TOP, Gravity.BOTTOM, Gravity.LEFT, Gravity.RIGHT.
XOffset Horisontell förskjutning av toastmeddelandet.
'Yoffset' Vertikal förskjutning av toastmeddelandet.
varaktighet Toast-showens varaktighet. Vi kan ställa in antingen Toast.LENGTH_SHORT eller Toast.LENGTH_LONG

Anmärkningar

Rostat bröd är ett enkelt sätt att ge feedback till användaren om att något händer. Om du behöver ett mer avancerat sätt att ge feedback kan du använda dialogrutor eller snackbar.

För att få mer information om toastmeddelandet, se denna dokumentation. https://developer.android.com/reference/android/widget/Toast.html

Skapa en egen singleton-klass för toastmassage

Så här skapar du din egen singleton-klass för toastmeddelanden. Om din applikation måste visa framgång, varning och farmeddelanden för olika användningsfall kan du använda den här klassen efter att du har ändrat den till dina egna specifikationer.

    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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow