Поиск…


Вступление

Тост-сообщения - это самый простой способ предоставления обратной связи пользователю. По умолчанию Android предоставляет сообщение с тонами grey color, где мы можем установить сообщение и продолжительность сообщения. Если нам нужно создать более настраиваемое и многоразовое тост-сообщение, мы можем реализовать его самостоятельно с использованием настраиваемого макета. Что еще более важно, когда мы его реализуем, использование шаблона проектирования Singelton упростит поддержание и развитие пользовательского класса сообщений toast.

Синтаксис

  • Toast Toast (Контекст Contex)
  • void setDuration (int duration)
  • void setGravity (int gravity, int xOffset, int yOffset)
  • void setView (Просмотреть представление)
  • void show ()

параметры

параметр подробности
контекст Соответствующий контекст, который должен отображать ваше сообщение тоста. Если вы используете это в ключевом слове «this» или «Использовать в пропуске» как «getActivity ()».
Посмотреть Создайте собственное представление и передайте этот объект просмотра.
сила тяжести Пропустите гравитационное положение тостера. Вся позиция добавлена ​​под классом Gravity как статические переменные. Наиболее распространенными позициями являются Gravity.TOP, Gravity.BOTTOM, Gravity.LEFT, Gravity.RIGHT.
xOffset Горизонтальное смещение тоста.
YOffset Вертикальное смещение тоста.
продолжительность Продолжительность тоста. Мы можем установить либо Toast.LENGTH_SHORT, либо Toast.LENGTH_LONG

замечания

Тост-сообщение - это простой способ предоставления обратной связи пользователю о том, что происходит. Если вам нужен более продвинутый способ дать отзыв, вы можете использовать диалоги или закусочную.

Чтобы получить более подробную информацию об этом сообщении, пожалуйста, проверьте эту документацию. https://developer.android.com/reference/android/widget/Toast.html

Создайте собственный одноэлементный класс для тостов

Вот как создать свой собственный одноэлементный класс для тостов, если ваше приложение должно показывать успех, предупреждение и сообщения об опасности для разных случаев использования, вы можете использовать этот класс после того, как вы изменили его по своим собственным спецификациям.

    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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow