Android开发之Toast工具类(实现带图片的Toast消息提示)

http://www.linuxidc.com/Linux/2011-10/44496.htm

 

实现的Toast工具类ToastUtil封装了普通文本消息提示和带图片的消息提示,实际开发中可根据自己的需要完善ToastUtil类,比如完善Toast消息位置相关设置等。
 
ToastUtil类代码如下:
 
1.package com.zyg.demo.toast; 
 2. 
 3.import Android.content.Context; 
 4.import android.view.Gravity; 
 5.import android.view.View; 
 6.import android.widget.ImageView; 
 7.import android.widget.LinearLayout; 
 8.import android.widget.Toast; 
 9. 
 10.public class ToastUtil { 
 11.    private static Toast toast = null; 
 12.    public static int LENGTH_LONG = Toast.LENGTH_LONG; 
 13.    private static int LENGTH_SHORT = Toast.LENGTH_SHORT; 
 14.     
 15.    /**
 16.     * 普通文本消息提示
 17.     * @param context
 18.     * @param text
 19.     * @param duration
 20.     */ 
 21.    public static void TextToast(Context context,CharSequence text,int duration){ 
 22.        //创建一个Toast提示消息  
 23.        toast = Toast.makeText(context, text, duration); 
 24.        //设置Toast提示消息在屏幕上的位置  
 25.        toast.setGravity(Gravity.CENTER, 0, 0); 
 26.        //显示消息  
 27.        toast.show(); 
 28.    } 
 29.     
 30.    /**
 31.     * 带图片消息提示
 32.     * @param context
 33.     * @param ImageResourceId
 34.     * @param text
 35.     * @param duration
 36.     */ 
 37.    public static void ImageToast(Context context,int ImageResourceId,CharSequence text,int duration){ 
 38.        //创建一个Toast提示消息  
 39.        toast = Toast.makeText(context, text, Toast.LENGTH_LONG); 
 40.        //设置Toast提示消息在屏幕上的位置  
 41.        toast.setGravity(Gravity.CENTER, 0, 0); 
 42.        //获取Toast提示消息里原有的View  
 43.        View toastView = toast.getView(); 
 44.        //创建一个ImageView  
 45.        ImageView img = new ImageView(context); 
 46.        img.setImageResource(ImageResourceId); 
 47.        //创建一个LineLayout容器  
 48.        LinearLayout ll = new LinearLayout(context); 
 49.        //向LinearLayout中添加ImageView和Toast原有的View  
 50.        ll.addView(img); 
 51.        ll.addView(toastView); 
 52.        //将LineLayout容器设置为toast的View  
 53.        toast.setView(ll); 
 54.        //显示消息  
 55.        toast.show(); 
 56.    } 
 57.} 
ToastUtil工具类应用示例代码如下:
 

 

view plaincopy to clipboardprint?
 1.package com.zyg.demo.toast; 
 2. 
 3.import android.app.Activity; 
 4.import android.os.Bundle; 
 5.import android.view.View; 
 6.import android.view.View.OnClickListener; 
 7.import android.widget.Button; 
 8.import android.widget.Toast; 
 9. 
 10.import com.zyg.demo.toast.util.ToastUtil; 
 11. 
 12.public class ToastActivity extends Activity implements OnClickListener{ 
 13.    private Button btnTxtToast = null; 
 14.    private Button btnImgToast = null; 
 15.    private Toast toast = null; 
 16.    @Override 
 17.    public void onCreate(Bundle savedInstanceState) { 
 18.        super.onCreate(savedInstanceState); 
 19.        setContentView(R.layout.main); 
 20.         
 21.        initUI(); 
 22.    } 
 23.     
 24.    private void initUI(){ 
 25.        btnTxtToast = (Button)findViewById(R.id.txttoast); 
 26.        btnTxtToast.setOnClickListener(this); 
 27.         
 28.        btnImgToast = (Button)findViewById(R.id.imgtoast); 
 29.        btnImgToast.setOnClickListener(this); 
 30.    } 
 31.     
 32.    @Override 
 33.    public void onClick(View v) { 
 34.        if(v==btnTxtToast){ 
 35.            String text = "文本消息提示"; 
 36.            int duration = ToastUtil.LENGTH_LONG; 
 37.            ToastUtil.TextToast(this, text, ToastUtil.LENGTH_LONG); 
 38.        }else if(v==btnImgToast){ 
 39.            String text = "正在搜索"; 
 40.            int ImageResourceId = R.drawable.search; 
 41.            int duration = ToastUtil.LENGTH_LONG; 
 42.            ToastUtil.ImageToast(this, ImageResourceId, text, duration); 
 43.        } 
 44.    } 
 45.} 
运行效果如下:
  
  

本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2011-10/44496.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值