您的位置:首页 > 移动开发 > Android开发

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

2013-10-25 11:24 681 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android开发