系统的Toast点击几次后会显示几下,封装后的Toast只会显示最后的点击时间
package com.xingao.anquanweishi.utils;import android.app.Application;import android.content.Context;import android.view.Gravity;import android.view.View;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.Toast;import com.xingao.anquanweishi.MyApplication;/** * Created by Administrator on 2018/7/7. */public class ToastUtil { public static Toast mToast; /** * 传入文字 * */ public static void show( Context context , String text){ if (mToast == null){ mToast = Toast.makeText( context, text , Toast.LENGTH_SHORT); }else { //如果当前Toast没有消失, 直接显示内容,不需要重新设置 mToast.setText(text); } mToast.setGravity(Gravity.CENTER , 0 , 0); mToast.show(); } /** * 传入资源文件 * */ public static void show(Context context, int resId){ if (mToast == null){ mToast = Toast.makeText( context, resId , Toast.LENGTH_SHORT); }else { //如果当前Toast没有消失, 直接显示内容,不需要重新设置 mToast.setText(resId); } mToast.show(); } /** * 传入文字,在中间显示 * */ public static void showCenter( Context context , String text){ if (mToast == null){ mToast = Toast.makeText( context, text , Toast.LENGTH_SHORT); }else { //如果当前Toast没有消失, 直接显示内容,不需要重新设置 mToast.setText(text); } mToast.setGravity(Gravity.CENTER , 0 , 0); mToast.show(); } /** * 传入文字,带图片 * */ public static void showImg( Context context , String text , int resImg){ if (mToast == null){ mToast = Toast.makeText( context, text , Toast.LENGTH_SHORT); }else { //如果当前Toast没有消失, 直接显示内容,不需要重新设置 mToast.setText(text); } //添加图片的操作,这里没有设置图片和文字显示在一行的操作呢... LinearLayout view = (LinearLayout) mToast.getView(); ImageView imageView = new ImageView(context); imageView.setImageResource(resImg); view.addView(imageView); mToast.show(); } } 原文链接: