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

实现的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工具类应用示例代码如下:

  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. }

运行效果如下:

   

【Android代码片段之六】Toast工具类(实现带图片的Toast消息提示)的更多相关文章

  1. elasticsearch代码片段,及工具类SearchEsUtil.java

    ElasticSearchClient.java package com.zbiti.framework.elasticsearch.utils; import java.util.Arrays; i ...

  2. Android 代码中使用Color工具类 parseColor

    方式一: arg1.setBackgroundColor(Color.parseColor("#87CEFA")); 方式二: arg1.setBackgroundColor(ge ...

  3. Android Toast 工具类

    android  中常用系统吐司工具类 package cn.yhq.utils; import android.content.Context; import android.widget.Toas ...

  4. Android弹出Toast工具类总结

    Android弹出Toast工具类总结,包括系统自带的,也包括自定义的. public class ToastUtil { public ToastUtil() { } public static T ...

  5. Android实用的Toast工具类封装

    Toast这个提示框大家都晓得,显示一段时间后自动消失,不能获得焦点.但是在使用中有些问题: 1)需要弹出一个新的Toast时,上一个Toast还没有显示完2)可能重复弹出相同的信息3)Toast具体 ...

  6. 安卓---Toast工具类,有点懒

    package com.liunan.myfirstapp.util; import android.content.Context; import android.widget.Toast; /** ...

  7. Android开发之常用必备工具类图片bitmap转成字符串string与String字符串转换为bitmap图片格式

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...

  8. java代码行数统计工具类

    package com.syl.demo.test; import java.io.*; /** * java代码行数统计工具类 * Created by 孙义朗 on 2017/11/17 0017 ...

  9. Spring统一返回Json工具类,带分页信息

    前言: 项目做前后端分离时,我们会经常提供Json数据给前端,如果有一个统一的Json格式返回工具类,那么将大大提高开发效率和减低沟通成本. 此Json响应工具类,支持带分页信息,支持泛型,支持Htt ...

随机推荐

  1. Redis入门学习(一)——安装配置

    最近马上要找实习了,听学长说他们公司里用了redis来解决缓存问题,在大三结束前来学习一下. 问:Redis是什么? 答:(官方)REmote DIctionary Server(Redis)是一个K ...

  2. 翻译-微服务API Gateway

    原文地址:http://microservices.io/patterns/apigateway.html,以下是使用google翻译对原文的翻译. 让我们想象一下你正在建立一个使用微服务模式的网上商 ...

  3. ionic 项目笔记

    最近公司在用ionic 做 微站,项目中难免遇到一些问题.总结如下: 1.       改了Slidebox 动态绑定图片时,页面会显示一片空白,改变窗口大小的时候,图片就出来了,说明动态绑定图片时, ...

  4. C++实现反射机制

    NET下的很多技术都是基于反射机制来实现的,反射让.NET平台下的语言变得得心应手.最简单的,比如枚举类型,我们我可以很容易的获得一个枚举变量的数值以及其名称字符串. 可是,在C++中,枚举变量本质上 ...

  5. 在C#中使用官方驱动操作MongoDB ---转载

    http://blog.csdn.net/dannywj1371/article/details/7440916

  6. 23.C#Queryable的扩展方法(十二章12.1-12.2)

    今天要写的知识还真心有点绕呢,对于第一节的内容,其实是把原先在内存中的数据源,换成了从数据库中提取出来的数据.从代码的使用方式上是一样的,直接跳过,来看看IEnumerable和IQueryable的 ...

  7. Bootstrap3.0学习第十九轮(JavaScript插件——标签页)

    详情请看 http://aehyok.com/Blog/Detail/46.html 个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本文文章链接:ht ...

  8. WPF中资源引用方式汇总

    在WPF应用程序开发中,总是难以记住各种访问资源的方法,遂逐一记下. 先从资源是否编译到程序集分类 一.程序集资源 资源在编译的时候嵌入到程序集中.WPF中的XAML会被编译为BAML,图片等其他资源 ...

  9. new-nav-js

    'use strict';define([ 'jquery'], function($) { var nav = { init : function() { $("#burger-menu& ...

  10. bzoj 1791 DP

    首先对于一棵树我们可以tree_dp来解决这个问题,那么对于环上每个点为根的树我们可以求出这个树的一端为根的最长链,并且在tree_dp的过程中更新答案.那么我们对于环,从某个点断开,破环为链,然后再 ...