android封装全局调用的toast_Android实用的Toast工具类封装
1 importandroid.content.Context;2 importandroid.view.View;3 importandroid.widget.ImageView;4 importandroid.widget.LinearLayout;5 importandroid.widget.Toast;6 7 /**
8 * Created by wangwentao on 2017/1/25.9 * Toast統一管理類10 */
11 12 public classToastUtil {13 ?private static boolean isShow = true;//默認顯示
14 ?private static Toast mToast = null;//全局唯一的Toast
15 16 /**
17 *private控制不應該被實例化*/
18 ?privateToastUtil() {19 ??throw new UnsupportedOperationException("不能被實例化");20 }21 22 ?/**
23 * 全局控制是否顯示Toast24 *@paramisShowToast25 */
26 ?public static void controlShow(booleanisShowToast){27 ??isShow =isShowToast;28 }29 30 ?/**
31 * 取消Toast顯示32 */
33 ?public voidcancelToast() {34 ??if(isShow && mToast != null){35 mToast.cancel();36 }37 }38 39 ?/**
40 * 短時間顯示Toast41 *42 *@paramcontext43 *@parammessage44 */
45 ?public static voidshowShort(Context context, CharSequence message) {46 ??if(isShow){47 ???if (mToast == null) {48 ????mToast =Toast.makeText(context, message, Toast.LENGTH_SHORT);49 ???} else{50 mToast.setText(message);51 }52 mToast.show();53 }54 }55 56 ?/**
57 * 短時間顯示Toast58 *59 *@paramcontext60 *@paramresId 資源ID:getResources().getString(R.string.xxxxxx);61 */
62 ?public static void showShort(Context context, intresId) {63 ??if(isShow){64 ???if (mToast == null) {65 ????mToast =Toast.makeText(context, resId, Toast.LENGTH_SHORT);66 ???} else{67 mToast.setText(resId);68 }69 mToast.show();70 }71 }72 73 ?/**
74 * 長時間顯示Toast75 *76 *@paramcontext77 *@parammessage78 */
79 ?public static voidshowLong(Context context, CharSequence message) {80 ??if(isShow){81 ???if (mToast == null) {82 ????mToast =Toast.makeText(context, message, Toast.LENGTH_LONG);83 ???} else{84 mToast.setText(message);85 }86 mToast.show();87 }88 }89 90 ?/**
91 * 長時間顯示Toast92 *93 *@paramcontext94 *@paramresId 資源ID:getResources().getString(R.string.xxxxxx);95 */
96 ?public static void showLong(Context context, intresId) {97 ??if(isShow){98 ???if (mToast == null) {99 ????mToast =Toast.makeText(context, resId, Toast.LENGTH_LONG);100 ???} else{101 mToast.setText(resId);102 }103 mToast.show();104 }105 }106 107 ?/**
108 * 自定義顯示Toast時間109 *110 *@paramcontext111 *@parammessage112 *@paramduration 單位:毫秒113 */
114 ?public static void show(Context context, CharSequence message, intduration) {115 ??if(isShow){116 ???if (mToast == null) {117 ????mToast =Toast.makeText(context, message, duration);118 ???} else{119 mToast.setText(message);120 }121 mToast.show();122 }123 }124 125 ?/**
126 * 自定義顯示Toast時間127 *128 *@paramcontext129 *@paramresId 資源ID:getResources().getString(R.string.xxxxxx);130 *@paramduration 單位:毫秒131 */
132 ?public static void show(Context context, int resId, intduration) {133 ??if(isShow){134 ???if (mToast == null) {135 ????mToast =Toast.makeText(context, resId, duration);136 ???} else{137 mToast.setText(resId);138 }139 mToast.show();140 }141 }142 143 ?/**
144 * 自定義Toast的View145 *@paramcontext146 *@parammessage147 *@paramduration 單位:毫秒148 *@paramview 顯示自己的View149 */
150 ?public static void customToastView(Context context, CharSequence message, intduration,View view) {151 ??if(isShow){152 ???if (mToast == null) {153 ????mToast =Toast.makeText(context, message, duration);154 ???} else{155 mToast.setText(message);156 }157 ???if(view != null){158 mToast.setView(view);159 }160 mToast.show();161 }162 }163 164 ?/**
165 * 自定義Toast的位置166 *@paramcontext167 *@parammessage168 *@paramduration 單位:毫秒169 *@paramgravity170 *@paramxOffset171 *@paramyOffset172 */
173 ?public static void customToastGravity(Context context, CharSequence message, int duration,int gravity, int xOffset, intyOffset) {174 ??if(isShow){175 ???if (mToast == null) {176 ????mToast =Toast.makeText(context, message, duration);177 ???} else{178 mToast.setText(message);179 }180 mToast.setGravity(gravity, xOffset, yOffset);181 mToast.show();182 }183 }184 185 ?/**
186 * 自定義帶圖片和文字的Toast,最終的效果就是上面是圖片,下面是文字187 *@paramcontext188 *@parammessage189 *@paramiconResId 圖片的資源id,如:R.drawable.icon190 *@paramduration191 *@paramgravity192 *@paramxOffset193 *@paramyOffset194 */
195 ?public static void showToastWithImageAndText(Context context, CharSequence message, int iconResId,int duration,int gravity, int xOffset, intyOffset) {196 ??if(isShow){197 ???if (mToast == null) {198 ????mToast =Toast.makeText(context, message, duration);199 ???} else{200 mToast.setText(message);201 }202 mToast.setGravity(gravity, xOffset, yOffset);203 ???LinearLayout toastView =(LinearLayout) mToast.getView();204 ???ImageView imageView = newImageView(context);205 imageView.setImageResource(iconResId);206 ???toastView.addView(imageView, 0);207 mToast.show();208 }209 }210 211 ?/**
212 * 自定義Toast,針對類型CharSequence213 *@paramcontext214 *@parammessage215 *@paramduration216 *@paramview217 *@paramisGravity true,表示后面的三個布局參數生效,false,表示不生效218 *@paramgravity219 *@paramxOffset220 *@paramyOffset221 *@paramisMargin true,表示后面的兩個參數生效,false,表示不生效222 *@paramhorizontalMargin223 *@paramverticalMargin224 */
225 ?public static void customToastAll(Context context, CharSequence message, int duration,View view, boolean isGravity,int gravity, int xOffset, int yOffset,boolean isMargin,float horizontalMargin, floatverticalMargin) {226 ??if(isShow){227 ???if (mToast == null) {228 ????mToast =Toast.makeText(context, message, duration);229 ???} else{230 mToast.setText(message);231 }232 ???if(view != null){233 mToast.setView(view);234 }235 ???if(isMargin){236 mToast.setMargin(horizontalMargin, verticalMargin);237 }238 ???if(isGravity){239 mToast.setGravity(gravity, xOffset, yOffset);240 }241 mToast.show();242 }243 }244 245 ?/**
246 * 自定義Toast,針對類型resId247 *@paramcontext248 *@paramresId249 *@paramduration250 *@paramview :應該是一個布局,布局中包含了自己設置好的內容251 *@paramisGravity true,表示后面的三個布局參數生效,false,表示不生效252 *@paramgravity253 *@paramxOffset254 *@paramyOffset255 *@paramisMargin true,表示后面的兩個參數生效,false,表示不生效256 *@paramhorizontalMargin257 *@paramverticalMargin258 */
259 ?public static void customToastAll(Context context, int resId, int duration,View view,boolean isGravity,int gravity, int xOffset, int yOffset,boolean isMargin,float horizontalMargin, floatverticalMargin) {260 ??if(isShow){261 ???if (mToast == null) {262 ????mToast =Toast.makeText(context, resId, duration);263 ???} else{264 mToast.setText(resId);265 }266 ???if(view != null){267 mToast.setView(view);268 }269 ???if(isMargin){270 mToast.setMargin(horizontalMargin, verticalMargin);271 }272 ???if(isGravity){273 mToast.setGravity(gravity, xOffset, yOffset);274 }275 mToast.show();276 }277 }278 }
總結
以上是生活随笔為你收集整理的android封装全局调用的toast_Android实用的Toast工具类封装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 毒液配音演员透露索尼 PS5 大作《漫威
- 下一篇: 盖茨:GPT是1980年以来最重要技术进