Android
Создание класса Singleton для сообщения Toast
Поиск…
Вступление
Тост-сообщения - это самый простой способ предоставления обратной связи пользователю. По умолчанию 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();
}
}