歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android開發之Toast工具類(實現帶圖片的Toast消息提示)

Android開發之Toast工具類(實現帶圖片的Toast消息提示)

日期:2017/3/1 11:16:18   编辑:Linux編程

實現的Toast工具類ToastUtil封裝了普通文本消息提示和帶圖片的消息提示,實際開發中可根據自己的需要完善ToastUtil類,比如完善Toast消息位置相關設置等。

ToastUtil類代碼如下:

  1. package com.zyg.demo.toast;
  2. import Android.content.Context;
  3. import android.view.Gravity;
  4. import android.view.View;
  5. import android.widget.ImageView;
  6. import android.widget.LinearLayout;
  7. import android.widget.Toast;
  8. public class ToastUtil {
  9. private static Toast toast = null;
  10. public static int LENGTH_LONG = Toast.LENGTH_LONG;
  11. private static int LENGTH_SHORT = Toast.LENGTH_SHORT;
  12. /**
  13. * 普通文本消息提示
  14. * @param context
  15. * @param text
  16. * @param duration
  17. */
  18. public static void TextToast(Context context,CharSequence text,int duration){
  19. //創建一個Toast提示消息
  20. toast = Toast.makeText(context, text, duration);
  21. //設置Toast提示消息在屏幕上的位置
  22. toast.setGravity(Gravity.CENTER, 0, 0);
  23. //顯示消息
  24. toast.show();
  25. }
  26. /**
  27. * 帶圖片消息提示
  28. * @param context
  29. * @param ImageResourceId
  30. * @param text
  31. * @param duration
  32. */
  33. public static void ImageToast(Context context,int ImageResourceId,CharSequence text,int duration){
  34. //創建一個Toast提示消息
  35. toast = Toast.makeText(context, text, Toast.LENGTH_LONG);
  36. //設置Toast提示消息在屏幕上的位置
  37. toast.setGravity(Gravity.CENTER, 0, 0);
  38. //獲取Toast提示消息裡原有的View
  39. View toastView = toast.getView();
  40. //創建一個ImageView
  41. ImageView img = new ImageView(context);
  42. img.setImageResource(ImageResourceId);
  43. //創建一個LineLayout容器
  44. LinearLayout ll = new LinearLayout(context);
  45. //向LinearLayout中添加ImageView和Toast原有的View
  46. ll.addView(img);
  47. ll.addView(toastView);
  48. //將LineLayout容器設置為toast的View
  49. toast.setView(ll);
  50. //顯示消息
  51. toast.show();
  52. }
  53. }
ToastUtil工具類應用示例代碼如下:

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

Copyright © Linux教程網 All Rights Reserved