Buscar..


Introducción

Los mensajes de Toast son la forma más sencilla de proporcionar comentarios al usuario. De forma predeterminada, Android proporciona un mensaje de color gris donde podemos configurar el mensaje y la duración del mensaje. Si necesitamos crear un mensaje de brindis más personalizable y reutilizable, podemos implementarlo por nosotros mismos con el uso de un diseño personalizado. Más importante aún cuando lo estamos implementando, el uso del patrón de diseño de Singelton facilitará el mantenimiento y desarrollo de la clase de mensaje de brindis personalizado.

Sintaxis

  • Toast Toast (contextos de contexto)
  • void setDuration (int duration)
  • void setGravity (int gravity, int xOffset, int yOffset)
  • void setView (Vista de vista)
  • espectáculo nulo ()

Parámetros

Parámetro detalles
contexto Contexto relevante que necesita mostrar su mensaje de brindis. Si usa esto en la actividad, pase la palabra clave "this" o si usa en fragement pass como "getActivity ()".
ver Cree una vista personalizada y pase esa vista a este objeto.
gravedad Pasar la posición de gravedad de la tostadora. Toda la posición se ha agregado en la clase Gravedad como las variables estáticas. Las posiciones más comunes son Gravity.TOP, Gravity.BOTTOM, Gravity.LEFT, Gravity.RIGHT.
xOffset Desplazamiento horizontal del mensaje tostado.
yOffset Desplazamiento vertical del mensaje tostado.
duración Duración del espectáculo de brindis. Podemos establecer Toast.LENGTH_SHORT o Toast.LENGTH_LONG

Observaciones

El mensaje de Toast es una forma sencilla de proporcionar comentarios al usuario sobre algo que está sucediendo. Si necesita una forma más avanzada de enviar comentarios, puede utilizar los diálogos o la barra de aperitivos.

Para obtener más detalles sobre el mensaje de brindis, consulte esta documentación. https://developer.android.com/reference/android/widget/Toast.html

Crea tu propia clase de singleton para masajes de tostadas.

A continuación le indicamos cómo crear su propia clase de singleton para los mensajes de brindis. Si su aplicación necesita mostrar los mensajes de éxito, advertencia y peligro para diferentes casos de uso, puede usar esta clase después de haberla modificado según sus propias especificaciones.

    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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow