zoukankan      html  css  js  c++  java
  • 【Android代码片段之六】Toast工具类(实现带图片的Toast消息提示)

    转载请注明出处,原文网址:http://blog.csdn.net/m_changgong/article/details/6841266  作者:张燕广

    实现的Toast工具类ToastUtil封装了普通文本消息提示和带图片的消息提示,实际开发中可根据自己的需要完善ToastUtil类,比如完善Toast消息位置相关设置等。

    ToastUtil类代码如下:

    [java] view plaincopy
     
    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, 00);  
    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, 00);  
    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工具类应用示例代码如下:

    [java] view plaincopy
     
    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. }  


    运行效果如下:

       

    路漫漫其修远兮 吾将上下而求索
  • 相关阅读:
    Luogu P1396 营救
    Luogu P1339 热浪Heat Wave
    哈夫曼树学习笔记
    题解 CF1372C
    题解 CF 1372 B
    题解 CF 1372A
    题解 UVA1193 Radar Installation
    题解 洛谷 P2287 [USACO07NOV]Sunscreen G
    洛谷 P1080 国王游戏 题解
    牛客练习赛 66C公因子 题解
  • 原文地址:https://www.cnblogs.com/hudabing/p/3741489.html
Copyright © 2011-2022 走看看