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