转载请注明出处,原文网址: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提示消息里原有的ViewView toastView = toast.getView();//创建一个ImageViewImageView img = new ImageView(context);img.setImageResource(ImageResourceId);//创建一个LineLayout容器LinearLayout ll = new LinearLayout(context);//向LinearLayout中添加ImageView和Toast原有的Viewll.addView(img);ll.addView(toastView);//将LineLayout容器设置为toast的Viewtoast.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);    }    }}

运行效果如下:

   


更多相关文章

  1. Android系统分析之带着问题看Handler
  2. Android(安卓)消息通知栏用法详解(一)
  3. SignalR+HTML5实现消息推送及Android通知栏消息
  4. android客户端使用网络数据压缩
  5. androidの监听EditView中的文本TextWatcher
  6. Android中的通知—Notification .
  7. Validates using resource IDs in a switch statement in Androi
  8. Android(安卓)Studio安装apk失败
  9. Android(安卓)基础控件 TextView

随机推荐

  1. Android选项卡的几种实现方法
  2. ScrollView包含其他可scroll的view时保持
  3. Android 有输入框的页面,一打开就会弹出输
  4. Android实现代码画虚线边框背景效果
  5. Android接口和框架学习
  6. Android(安卓)Studio 离线安装 NDK
  7. MediaRecorderClient决定使用stagefright
  8. Android  xml Animation  Drawable 画
  9. Android中杀进程的几种方法 (1) - killBa
  10. Android 7.0 ActivityManagerService(1)