ToastUtil.java 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package com.cooleshow.base.utils;
  2. import android.content.Context;
  3. import android.graphics.Color;
  4. import android.os.Handler;
  5. import android.text.TextUtils;
  6. import android.view.Gravity;
  7. import android.view.LayoutInflater;
  8. import android.view.View;
  9. import android.widget.FrameLayout;
  10. import android.widget.ImageView;
  11. import android.widget.TableLayout;
  12. import android.widget.TextView;
  13. import android.widget.Toast;
  14. import com.cooleshow.base.R;
  15. import com.luck.picture.lib.tools.ToastUtils;
  16. public class ToastUtil {
  17. public volatile static ToastUtil instance;
  18. private Toast toast;
  19. public static ToastUtil getInstance() {
  20. if (null == instance) {
  21. synchronized (ToastUtil.class) {
  22. if (null == instance) {
  23. instance = new ToastUtil();
  24. }
  25. }
  26. }
  27. return instance;
  28. }
  29. /**
  30. * 创建自定义Toasts :
  31. */
  32. public void show(Context context, String toastStr) {
  33. showShort(toastStr);
  34. }
  35. /**
  36. * 创建自定义Toasts :
  37. */
  38. public void showShort(String toastStr) {
  39. // int dp26 = SizeUtils.dp2px(26);
  40. // int dp10 = SizeUtils.dp2px(10);
  41. // TextView mContentView = new TextView(Utils.getApp());
  42. // mContentView.setGravity(Gravity.CENTER);
  43. // mContentView.setBackgroundResource(R.drawable.shape_toast);
  44. // mContentView.setTextSize(15);
  45. // mContentView.setTextColor(Utils.getApp().getResources().getColor(R.color.white));
  46. // mContentView.setPadding(dp26, dp10, dp26, dp10);
  47. // mContentView.setText(toastStr);
  48. // ToastUtils.getDefaultMaker().setGravity(Gravity.CENTER, 0, 0).show(mContentView);
  49. if (init(toastStr, Toast.LENGTH_SHORT) == null) {
  50. toast = new Toast(Utils.getApp());
  51. toast.setText(toastStr);
  52. toast.setDuration(Toast.LENGTH_SHORT);
  53. toast.show();
  54. }
  55. }
  56. private Toast init(String message, int duration) {
  57. try {
  58. if (toast != null) {
  59. TextView text = (TextView) toast.getView();
  60. if (text != null) {
  61. text.setText(message);
  62. }
  63. } else {
  64. int dp26 = SizeUtils.dp2px(26);
  65. int dp10 = SizeUtils.dp2px(10);
  66. TextView contentView = new TextView(Utils.getApp());
  67. contentView.setGravity(Gravity.CENTER);
  68. contentView.setBackgroundResource(R.drawable.shape_toast);
  69. contentView.setTextSize(15);
  70. contentView.setTextColor(Utils.getApp().getResources().getColor(R.color.white));
  71. contentView.setPadding(dp26, dp10, dp26, dp10);
  72. contentView.setText(message);
  73. toast = new Toast(Utils.getApp());
  74. toast.setGravity(Gravity.CENTER, 0, 0);
  75. toast.setView(contentView);
  76. }
  77. toast.setDuration(duration);
  78. toast.show();
  79. } catch (Exception e) {
  80. Toast.makeText(Utils.getApp(), message, duration).show();
  81. e.printStackTrace();
  82. }
  83. return toast;
  84. }
  85. }