Ricerca…


introduzione

I messaggi di toast sono il modo più semplice per fornire feedback all'utente. Per impostazione predefinita, Android fornisce un messaggio con un messaggio di colore grigio in cui è possibile impostare il messaggio e la durata del messaggio. Se abbiamo bisogno di creare un messaggio di toast più personalizzabile e riutilizzabile, possiamo implementarlo da soli con l'uso di un layout personalizzato. Ancora più importante quando lo stiamo implementando, l'uso del modello di progettazione di Singelton renderà più semplice il mantenimento e lo sviluppo della classe di messaggi di brindisi personalizzati.

Sintassi

  • Toast Toast (Contesto contesto)
  • void setDuration (int duration)
  • void setGravity (int gravity, int xOffset, int yOffset)
  • void setView (Visualizza vista)
  • void show ()

Parametri

Parametro dettagli
contesto Contesto rilevante che deve visualizzare il messaggio di brindisi. Se si utilizza questo passaggio di attività "questo" parola chiave o Se si utilizza in passaggio di gestione come "getActivity ()".
vista Creare una vista personalizzata e passare questo oggetto vista a questo.
gravità Passa la posizione di gravità del tostapane. Tutte le posizioni sono state aggiunte sotto la classe Gravity come variabili statiche. Le posizioni più comuni sono Gravity.TOP, Gravity.BOTTOM, Gravity.LEFT, Gravity.RIGHT.
xOffset Offset orizzontale del messaggio di toast.
YOffset Offset verticale del messaggio di toast.
durata Durata dello spettacolo di brindisi Possiamo impostare Toast.LENGTH_SHORT o Toast.LENGTH_LONG

Osservazioni

Il messaggio Toast è un modo semplice per fornire feedback all'utente su qualcosa che sta accadendo. Se hai bisogno di un modo più avanzato per dare feedback puoi usare i dialoghi o la barra degli snack.

Per ulteriori dettagli sul messaggio di brindisi, consultare questa documentazione. https://developer.android.com/reference/android/widget/Toast.html

Crea la tua classe singleton per i massaggi ai toast

Ecco come creare la tua classe singleton per i messaggi di brindisi, Se la tua applicazione deve mostrare successo, avvertimenti e messaggi di pericolo per diversi casi d'uso, puoi usare questa classe dopo averla modificata secondo le tue specifiche.

    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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow