Android Toast工具类大放送

简述:

    珍藏300年Toast工具类与大家分享,希望对大家有所帮助或者有所启发........

工具类:

    这里集合了常用的各种形式的Toast,代码如下:

package com.lzy.test;

import android.content.Context;
import android.graphics.Bitmap;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

/**
 * 集合各种Toast的工具类
 * 
 * @Time 2015年10月20日
 * @author lizy18
 */
public class TinyjoyToastUtil extends Toast {
	private static boolean isShowFlag = true;
	private static Toast toast;

	public TinyjoyToastUtil(Context context) {
		super(context);
		// TODO Auto-generated constructor stub
	}

	/**
	 * 以"字符串类型"为消息的"短显示吐司"
	 * 
	 * @Time 2015年10月20日
	 * @Author lizy18
	 * @param context
	 *            上下文
	 * @param message
	 *            CharSequence类型的信息
	 */
	public static void showShort(Context context, CharSequence message) {
		if (isShowFlag)
			Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
	}

	/**
	 * 以"资源ID"为消息的"短显示吐司"
	 * 
	 * @Time 2015年10月20日
	 * @Author lizy18
	 * @param context
	 *            上下文
	 * @param message
	 *            消息的资源ID
	 */
	public static void showShort(Context context, int message) {
		if (isShowFlag)
			Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
	}

	/**
	 * 以"字符串类型"为消息的"长显示吐司"
	 * 
	 * @Time 2015年10月20日
	 * @Author lizy18
	 * @param context
	 *            上下文
	 * @param message
	 *            "字符串类型的消息"
	 */
	public static void showLong(Context context, CharSequence message) {
		if (isShowFlag)
			Toast.makeText(context, message, Toast.LENGTH_LONG).show();
	}

	/**
	 * 以"字符串资源ID"为消息的"长显示吐司"
	 * 
	 * @Time 2015年10月20日
	 * @Author lizy18
	 * @param context
	 *            上下文
	 * @param message
	 *            消息的资源ID
	 */
	public static void showLong(Context context, int message) {
		if (isShowFlag)
			Toast.makeText(context, message, Toast.LENGTH_LONG).show();
	}

	/**
	 * 自定义显示位置的吐司, 短吐司, 消息为"字符串资源的ID"
	 * 
	 * @Time 2015年10月20日
	 * @Author lizy18
	 * @param context
	 *            上下文
	 * @param charSequence
	 *            字符串类型的消息
	 * @param gravity
	 *            参数类型为Int型,表示在屏幕上所处的位置(如Gravity.centre表示处在屏幕中间)
	 * @param xOffset
	 *            Toast这个View以Gravity.centre位置为参照物相对X轴的偏移量
	 * @param yOffset
	 *            Toast这个View以Gravity.centre位置为参照物相对Y轴的偏移量
	 */
	public static void showCustomLocationShort(Context context, int messageId,
			int gravity, int xOffset, int yOffset) {
		if (isShowFlag) {
			Toast toast = Toast
					.makeText(context, messageId, Toast.LENGTH_SHORT);
			toast.setGravity(gravity, xOffset, yOffset);
			toast.show();
		}
	}

	/**
	 * 自定义显示位置的吐司, 长吐司, 消息为字符串资源ID
	 * 
	 * @Time 2015年10月20日
	 * @Author lizy18
	 * @param context
	 *            上下文
	 * @param charSequence
	 *            整形int的消息资源的ID值
	 * @param gravity
	 *            参数类型为Int型,表示在屏幕上所处的位置(如Gravity.centre表示处在屏幕中间)
	 * @param xOffset
	 *            Toast这个View以Gravity.centre位置为参照物相对X轴的偏移量
	 * @param yOffset
	 *            Toast这个View以Gravity.centre位置为参照物相对Y轴的偏移量
	 */
	public static void showCustomLocationLong(Context context, int messageId,
			int gravity, int xOffset, int yOffset) {
		if (isShowFlag) {
			Toast toast = Toast.makeText(context, messageId, Toast.LENGTH_LONG);
			toast.setGravity(gravity, xOffset, yOffset);
			toast.show();
		}
	}

	/**
	 * 自定义显示位置的吐司, 短吐司, 消息为字符串类型
	 * 
	 * @Time 2015年10月20日
	 * @Author lizy18
	 * @param context
	 *            上下文
	 * @param charSequence
	 *            字符串类型的消息
	 * @param gravity
	 *            参数类型为Int型,表示在屏幕上所处的位置(如Gravity.centre表示处在屏幕中间)
	 * @param xOffset
	 *            Toast这个View以Gravity.centre位置为参照物相对X轴的偏移量
	 * @param yOffset
	 *            Toast这个View以Gravity.centre位置为参照物相对Y轴的偏移量
	 */
	public static void showCustomLocationShort(Context context,
			CharSequence message, int gravity, int xOffset, int yOffset) {
		if (isShowFlag) {
			Toast toast = Toast.makeText(context, message, Toast.LENGTH_SHORT);
			toast.setGravity(gravity, xOffset, yOffset);
			toast.show();
		}
	}

	/**
	 * 自定义显示位置的吐司, 长吐司, 消息为字符串类型
	 * 
	 * @Time 2015年10月20日
	 * @Author lizy18
	 * @param context
	 *            上下文
	 * @param charSequence
	 *            字符串类型的消息
	 * @param gravity
	 *            参数类型为Int型,表示在屏幕上所处的位置(如Gravity.centre表示处在屏幕中间)
	 * @param xOffset
	 *            Toast这个View以Gravity.centre位置为参照物相对X轴的偏移量
	 * @param yOffset
	 *            Toast这个View以Gravity.centre位置为参照物相对Y轴的偏移量
	 */
	public static void showCustomLocationLong(Context context,
			CharSequence charSequence, int gravity, int xOffset, int yOffset) {
		if (isShowFlag) {
			toast = Toast.makeText(context, charSequence, Toast.LENGTH_LONG);
			toast.setGravity(gravity, xOffset, yOffset);
			toast.show();
		}
	}

	/**
	 * 这是一个带图片的吐司,其吐司的显示位置定义在了屏幕正中间-->短吐司
	 * 
	 * @Time 2015年10月20日
	 * @Author lizy18
	 * @param context
	 *            上下文
	 * @param message
	 *            字符串类型的消息
	 * @param resId
	 *            图片资源ID
	 */
	public static void showCustomToastWithImageShort(Context context,
			CharSequence message, int resId) {
		if (isShowFlag) {
			toast = Toast.makeText(context, message, Toast.LENGTH_SHORT);
			toast.setGravity(Gravity.CENTER, 0, 0);
			LinearLayout ToastContentView = (LinearLayout) toast.getView();
			ImageView img = new ImageView(context);
			img.setImageResource(resId);
			ToastContentView.addView(img);
			toast.show();
		}

	}

	/**
	 * 这是一个带图片的吐司,其吐司的显示位置定义在了屏幕正中间-->长吐司
	 * 
	 * @Time 2015年10月20日
	 * @Author lizy18
	 * @param context
	 *            上下文
	 * @param message
	 *            字符串类型的消息
	 * @param resId
	 *            图片资源ID
	 */
	public static void showCustomToastWithImageLong(Context context,
			CharSequence message, int resId) {
		if (isShowFlag) {
			toast = Toast.makeText(context, message, Toast.LENGTH_SHORT);
			toast.setGravity(Gravity.CENTER, 0, 0);
			LinearLayout ToastContentView = (LinearLayout) toast.getView();
			ImageView img = new ImageView(context);
			img.setImageResource(resId);
			ToastContentView.addView(img);
			toast.show();
		}

	}

	/**
	 * 这是一个带图片的吐司,其吐司的显示位置定义在了屏幕正中间-->短吐司
	 * 
	 * @Time 2015年10月20日
	 * @Author lizy18
	 * @param context
	 *            上下文
	 * @param messageId
	 *            字符串资源的ID值
	 * @param resId
	 *            图片资源ID
	 */
	public static void showCustomToastWithImageShort(Context context,
			int messageId, int resId) {
		if (isShowFlag) {
			toast = Toast.makeText(context, messageId, Toast.LENGTH_SHORT);
			toast.setGravity(Gravity.CENTER, 0, 0);
			LinearLayout ToastContentView = (LinearLayout) toast.getView();
			ImageView img = new ImageView(context);
			img.setImageResource(resId);
			ToastContentView.addView(img);
			toast.show();
		}

	}

	/**
	 * 这是一个带图片的吐司,其吐司的显示位置定义在了屏幕正中间-->长吐司
	 * 
	 * @Time 2015年10月20日
	 * @Author lizy18
	 * @param context
	 *            上下文
	 * @param messageId
	 *            字符串资源的ID值
	 * @param resId
	 *            图片资源ID
	 */
	public static void showCustomToastWithImageLong(Context context,
			int messageId, int resId) {
		if (isShowFlag) {
			toast = Toast.makeText(context, messageId, Toast.LENGTH_SHORT);
			toast.setGravity(Gravity.CENTER, 0, 0);
			LinearLayout ToastContentView = (LinearLayout) toast.getView();
			ImageView img = new ImageView(context);
			img.setImageResource(resId);
			ToastContentView.addView(img);
			toast.show();
		}
	}

	/**
	 * 
	 * 这是一个完全自定义的短吐司Toast:所展示出来的视图是自己在res文件夹中自定义的xml布局文件
	 * 
	 * @Time 2015年10月20日
	 * @Author lizy18
	 * @param context
	 *            所在Activity的上下文
	 * @param layoutResource
	 *            所要加载的XML布局资源文件的ID值
	 * @param message
	 *            所要通知的文本信息(CharSequence形式)
	 * @param bitmap
	 *            所要通知的图片的信息(Bitmap形式)
	 * 
	 *
	 */

	public static void showCompletedCustomToastShort(Context context,
			int layoutResource, CharSequence message, Bitmap bitmap) {
		if (isShowFlag) {
			toast = new Toast(context);
			LayoutInflater inflate = (LayoutInflater) context
					.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
			View view = inflate.inflate(layoutResource, null);
			TextView mTextView = (TextView) view
					.findViewById(R.id.toast_text_content);
			ImageView mImageView = (ImageView) view
					.findViewById(R.id.toast_image_content);
			mTextView.setText(message);
			mImageView.setImageBitmap(bitmap);
			toast.setGravity(Gravity.CENTER, 0, 0);
			toast.setView(view);
			toast.setDuration(TinyjoyToastUtil.LENGTH_SHORT);
			toast.show();
		}
	}

	/**
	 * 
	 * 这是一个完全自定义的长吐司Toast:所展示出来的视图是自己在res文件夹中自定义的xml布局文件
	 * 
	 * @Time 2015年10月20日
	 * @Author lizy18
	 * @param context
	 *            所在Activity的上下文
	 * @param layoutResource
	 *            所要加载的XML布局资源文件的ID值
	 * @param message
	 *            所要通知的文本信息(CharSequence形式)
	 * @param bitmap
	 *            所要通知的图片的信息(Bitmap形式)
	 * 
	 */

	public static void showCompletedCustomToastLong(Context context,
			int layoutResource, CharSequence message, Bitmap bitmap) {
		if (isShowFlag) {
			toast = new Toast(context);
			LayoutInflater inflate = (LayoutInflater) context
					.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
			View view = inflate.inflate(layoutResource, null);
			TextView mTextView = (TextView) view
					.findViewById(R.id.toast_text_content);
			ImageView mImageView = (ImageView) view
					.findViewById(R.id.toast_image_content);
			mTextView.setText(message);
			mImageView.setImageBitmap(bitmap);
			toast.setGravity(Gravity.CENTER, 0, 0);
			toast.setView(view);
			toast.setDuration(TinyjoyToastUtil.LENGTH_SHORT);
			toast.show();
		}
	}

	/**
	 * 完全自定义的短吐司:所展示出来的视图是自己在res文件夹中自定义的xml布局文件
	 * 
	 * @Time 2015年10月20日
	 * @Author lizy18
	 * @param context
	 *            所在Activity的上下文
	 * @param layoutResource
	 *            所要加载的XML布局资源文件的ID值
	 * @param message
	 *            所要通知的文本信息(CharSequence形式)
	 * @param imaegId
	 *            所要通知的图片的信息(图片资源ID值)
	 */
	public static void showCompletedCustomToastShortWithResId(Context context,
			int layoutResource, CharSequence message, int imaegId) {
		if (isShowFlag) {
			toast = new Toast(context);
			LayoutInflater inflate = (LayoutInflater) context
					.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
			View view = inflate.inflate(layoutResource, null);
			TextView mTextView = (TextView) view
					.findViewById(R.id.toast_text_content);
			ImageView mImageView = (ImageView) view
					.findViewById(R.id.toast_image_content);
			mTextView.setText(message);
			mImageView.setImageResource(imaegId);
			toast.setGravity(Gravity.CENTER, 0, 0);
			toast.setView(view);
			toast.setDuration(TinyjoyToastUtil.LENGTH_LONG);
			toast.show();
		}
	}

	/**
	 * 完全自定义的长吐司:所展示出来的视图是自己在res文件夹中自定义的xml布局文件
	 * 
	 * @Time 2015年10月20日
	 * @Author lizy18
	 * @param context
	 *            所在Activity的上下文
	 * @param layoutResource
	 *            所要加载的XML布局资源文件的ID值
	 * @param message
	 *            所要通知的文本信息(CharSequence形式)
	 * @param imaegId
	 *            所要通知的图片的信息(图片资源ID值)
	 */
	public static void showCompletedCustomToastLongWithResId(Context context,
			int layoutResource, CharSequence message, int imaegId) {
		if (isShowFlag) {
			toast = new Toast(context);
			LayoutInflater inflate = (LayoutInflater) context
					.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
			View view = inflate.inflate(layoutResource, null);
			TextView mTextView = (TextView) view
					.findViewById(R.id.toast_text_content);
			ImageView mImageView = (ImageView) view
					.findViewById(R.id.toast_image_content);
			mTextView.setText(message);
			mImageView.setImageResource(imaegId);
			toast.setGravity(Gravity.CENTER, 0, 0);
			toast.setView(view);
			toast.setDuration(TinyjoyToastUtil.LENGTH_LONG);
			toast.show();
		}
	}
}


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值