【Android代码片段之六】Toast工具类(实现带图片的Toast消息提示)

转载请注明出处,原文网址: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);
    	}
    }
}

运行效果如下:

   


  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值