【Android代码片段之六】Toast工具类(实现带图片的Toast消息提示)
16lz
2021-01-24
转载请注明出处,原文网址:http://blog.csdn.net/m_changgong/article/details/6841266 作者:张燕广
实现的Toast工具类ToastUtil封装了普通文本消息提示和带图片的消息提示,实际开发中可根据自己的需要完善ToastUtil类,比如完善Toast消息位置相关设置等。
ToastUtil类代码如下:
package com.zyg.demo.toast;import android.content.Context;import android.view.Gravity;import android.view.View;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.Toast;public class ToastUtil {private static Toast toast = null;public static int LENGTH_LONG = Toast.LENGTH_LONG;private static int LENGTH_SHORT = Toast.LENGTH_SHORT;/** * 普通文本消息提示 * @param context * @param text * @param duration */public static void TextToast(Context context,CharSequence text,int duration){//创建一个Toast提示消息toast = Toast.makeText(context, text, duration);//设置Toast提示消息在屏幕上的位置toast.setGravity(Gravity.CENTER, 0, 0);//显示消息toast.show();}/** * 带图片消息提示 * @param context * @param ImageResourceId * @param text * @param duration */public static void ImageToast(Context context,int ImageResourceId,CharSequence text,int duration){//创建一个Toast提示消息toast = Toast.makeText(context, text, Toast.LENGTH_LONG);//设置Toast提示消息在屏幕上的位置toast.setGravity(Gravity.CENTER, 0, 0);//获取Toast提示消息里原有的ViewView toastView = toast.getView();//创建一个ImageViewImageView img = new ImageView(context);img.setImageResource(ImageResourceId);//创建一个LineLayout容器LinearLayout ll = new LinearLayout(context);//向LinearLayout中添加ImageView和Toast原有的Viewll.addView(img);ll.addView(toastView);//将LineLayout容器设置为toast的Viewtoast.setView(ll);//显示消息toast.show();}}
ToastUtil工具类应用示例代码如下: package com.zyg.demo.toast;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;import com.zyg.demo.toast.util.ToastUtil;public class ToastActivity extends Activity implements OnClickListener{private Button btnTxtToast = null;private Button btnImgToast = null;private Toast toast = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); initUI(); } private void initUI(){ btnTxtToast = (Button)findViewById(R.id.txttoast); btnTxtToast.setOnClickListener(this); btnImgToast = (Button)findViewById(R.id.imgtoast); btnImgToast.setOnClickListener(this); } @Override public void onClick(View v) { if(v==btnTxtToast){ String text = "文本消息提示"; int duration = ToastUtil.LENGTH_LONG; ToastUtil.TextToast(this, text, ToastUtil.LENGTH_LONG); }else if(v==btnImgToast){ String text = "正在搜索"; int ImageResourceId = R.drawable.search; int duration = ToastUtil.LENGTH_LONG; ToastUtil.ImageToast(this, ImageResourceId, text, duration); } }}
运行效果如下:
更多相关文章
- Android系统分析之带着问题看Handler
- Android(安卓)消息通知栏用法详解(一)
- SignalR+HTML5实现消息推送及Android通知栏消息
- android客户端使用网络数据压缩
- androidの监听EditView中的文本TextWatcher
- Android中的通知—Notification .
- Validates using resource IDs in a switch statement in Androi
- Android(安卓)Studio安装apk失败
- Android(安卓)基础控件 TextView