转载请注明出处,原文网址:http://blog.csdn.net/m_changgong/article/details/6841266 作者:张燕广
实现的Toast工具类ToastUtil封装了普通文本消息提示和带图片的消息提示,实际开发中可根据自己的需要完善ToastUtil类,比如完善Toast消息位置相关设置等。
ToastUtil类代码如下:
package com.zyg.demo.toast; import android.content.Context; import android.view.Gravity; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.Toast; public class ToastUtil { private static Toast toast = null; public static int LENGTH_LONG = Toast.LENGTH_LONG; private static int LENGTH_SHORT = Toast.LENGTH_SHORT; /** * 普通文本消息提示 * @param context * @param text * @param duration */ public static void TextToast(Context context,CharSequence text,int duration){ //创建一个Toast提示消息 toast = Toast.makeText(context, text, duration); //设置Toast提示消息在屏幕上的位置 toast.setGravity(Gravity.CENTER, 0, 0); //显示消息 toast.show(); } /** * 带图片消息提示 * @param context * @param ImageResourceId * @param text * @param duration */ public static void ImageToast(Context context,int ImageResourceId,CharSequence text,int duration){ //创建一个Toast提示消息 toast = Toast.makeText(context, text, Toast.LENGTH_LONG); //设置Toast提示消息在屏幕上的位置 toast.setGravity(Gravity.CENTER, 0, 0); //获取Toast提示消息里原有的View View toastView = toast.getView(); //创建一个ImageView ImageView img = new ImageView(context); img.setImageResource(ImageResourceId); //创建一个LineLayout容器 LinearLayout ll = new LinearLayout(context); //向LinearLayout中添加ImageView和Toast原有的View ll.addView(img); ll.addView(toastView); //将LineLayout容器设置为toast的View toast.setView(ll); //显示消息 toast.show(); } }ToastUtil工具类应用示例代码如下:
package com.zyg.demo.toast; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; import com.zyg.demo.toast.util.ToastUtil; public class ToastActivity extends Activity implements OnClickListener{ private Button btnTxtToast = null; private Button btnImgToast = null; private Toast toast = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); initUI(); } private void initUI(){ btnTxtToast = (Button)findViewById(R.id.txttoast); btnTxtToast.setOnClickListener(this); btnImgToast = (Button)findViewById(R.id.imgtoast); btnImgToast.setOnClickListener(this); } @Override public void onClick(View v) { if(v==btnTxtToast){ String text = "文本消息提示"; int duration = ToastUtil.LENGTH_LONG; ToastUtil.TextToast(this, text, ToastUtil.LENGTH_LONG); }else if(v==btnImgToast){ String text = "正在搜索"; int ImageResourceId = R.drawable.search; int duration = ToastUtil.LENGTH_LONG; ToastUtil.ImageToast(this, ImageResourceId, text, duration); } } }