文档章节

自定义多功能toast

colorchen
 colorchen
发布于 2015/06/13 18:40
字数 229
阅读 7
收藏 0
点赞 0
评论 0

/**

 * 吐司工具

 *

 * @author color

 */

public class ToastUtils {

    private static Toast mToast;

    private static String lastToast = "";

    private static long lastToastTime;


    private ToastUtils() {


    }


    public static void show(Context context, String msg) {

        if (mToast == null) {

            mToast = Toast.makeText(context, msg, Toast.LENGTH_SHORT);

        } else {

            mToast.setText(msg);

            mToast.setDuration(Toast.LENGTH_SHORT);

        }

        mToast.show();

    }


//    public static void showIcon(Context context, String msg) {

//        mToast = Toast.makeText(context,

//                msg, Toast.LENGTH_LONG);

//        mToast.setGravity(Gravity.CENTER, 0, 0);

//        LinearLayout toastView = (LinearLayout) mToast.getView();

//        ImageView imageCodeProject = new ImageView(context);

//        imageCodeProject.setImageResource(R.drawable.wz_toast_logo);

//        toastView.addView(imageCodeProject, 0);

//        mToast.show();

//    }


    public static void showToastShort(Context context,String message) {

        showBaseToast(message, Toast.LENGTH_SHORT, 0, Gravity.BOTTOM, context);

    }


    public static void showToastIcon(Context context,String message, int icon) {

        showBaseToast(message, Toast.LENGTH_LONG, icon, Gravity.CENTER, context);

    }

    private static void showBaseToast(String message, int duration, int icon, int gravity, Context context) {


        if (!TextUtils.isEmpty(message)) {

            long time = System.currentTimeMillis();

            if (!message.equalsIgnoreCase(lastToast)

                    || Math.abs(time - lastToastTime) > 2000) {

                View view = LayoutInflater.from(context).inflate(R.layout.wz_toast_view, null);

                ((TextView) view.findViewById(R.id.tvForToast)).setText(message);

                if (icon != 0) {

                    ((ImageView) view.findViewById(R.id.ivForToast))

                            .setImageResource(icon);

                    (view.findViewById(R.id.ivForToast))

                            .setVisibility(View.VISIBLE);

                }else{

                    (view.findViewById(R.id.ivForToast))

                            .setVisibility(View.GONE);

                }

                Toast toast = new Toast(context);

                toast.setView(view);

                if (gravity == Gravity.CENTER) {

                    toast.setGravity(gravity, 0, 0);

                } else {

                    toast.setGravity(gravity, 0, 35);

                }


                toast.setDuration(duration);

                toast.show();

                lastToast = message;

                lastToastTime = System.currentTimeMillis();

            }

        }

    }


    public void cancelToast() {

        if (mToast != null) {

            mToast.cancel();

        }

    }


}


© 著作权归作者所有

共有 人打赏支持
colorchen
粉丝 2
博文 20
码字总数 8648
作品 0
郑州
程序员
v-dialogs v1.10 发布,基于 Vue2 的多功能弹出窗口组件

基于 Vue2 的多功能弹出窗口组件 v1.10.0 版本发布,更新内容: 修复连续弹出和关闭窗口时,最后一个窗口不会被关闭的问题 窗口增加部分动画效果 增加 singletonKey 配置项目,用于设置全局唯...

TerryZ ⋅ 06/08 ⋅ 0

Android自定义吐司Toast:自定义样式、自定义显示时长

Android自定义吐司Toast:自定义样式、自定义显示时长 鉴于系统toast,一般都是黑色背景且位于界面底部,我们看到有些app弹出的toast,有的在界面中间、有的在界面顶部,还有的是带图片的,那...

天外来客1101 ⋅ 2016/11/23 ⋅ 0

Android开发Toast特效详解

在Android开发中,Toast主要用于向用户显示提示消息,下面我们来具体看看Toast特效5种效果,你也可以根据自己的需求,自定义你需要的特效。 1.默认效果 代码: Toast.makeText(getApplicatio...

maiziedu ⋅ 2015/01/21 ⋅ 2

自定义Toast样式,位置

Android自带的Toast效果实在是不敢恭维,没办法,自己动手丰衣足食,想定义什么样的就定义什么样的,有技术就是任性,接下来自定义Toast步骤: 1,新建Toast对象: 2,利用layoutInflater获取...

ldfowjemr ⋅ 2016/02/03 ⋅ 0

Android中Toast的用法简介

Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失。下面用一个实例来看看如何使用Toast。 1.默认效...

Reya滴水心 ⋅ 2014/03/10 ⋅ 0

android Toast大全(五种情形)建立属于你自己的Toast

Toast用于向用户显示一些帮助/提示。下面我做了5中效果,来说明Toast的强大,定义一个属于你自己的Toast。 1.默认效果 代码 Toast.makeText(getApplicationContext(), "默认Toast样式", Toas...

xiahuawuyu ⋅ 2012/10/08 ⋅ 1

android Toast大全(五种情形)建立属于你自己的Toast

Toast用于向用户显示一些帮助/提示。下面我做了5中效果,来说明Toast的强大,定义一个属于你自己的Toast。 1.默认效果 代码 Toast.makeText(getApplicationContext(), "默认Toast样式", Toas...

迷途d书童 ⋅ 2012/08/30 ⋅ 6

自定义Menu按键弹出的菜单

1.重写onCreateOptionsMenu方法的,实现弹出菜单 代码: @Override //重写onCreateOptionsMenu,实现点击Menu按键出现功能菜单 public boolean onCreateOptionsMenu(Menu menu) { //添加菜单...

枫影Xda ⋅ 2011/10/23 ⋅ 0

建立属于你自己的Toast

Toast用于向用户显示一些帮助/提示。下面我做了5中效果,来说明Toast的强大,定义一个属于你自己的Toast。 1.默认效果 代码 Toast.makeText(getApplicationContext(), "默认Toast样式", Toas...

长平狐 ⋅ 2012/10/09 ⋅ 0

Toast自定义动画

上篇我讲了自定义Toast和不重复显示Toast,后来我在想官方Toast只有一个淡入淡出的,要自定义Taost动画该怎样做了。 首先来看Toast的源码: 构造函数如下: public Toast(Context context) ...

风过后 ⋅ 2015/12/11 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

NFS介绍 NFS服务端安装配置 NFS配置选项

NFS介绍 NFS是Network File System的缩写;这个文件系统是基于网路层面,通过网络层面实现数据同步 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导...

lyy549745 ⋅ 32分钟前 ⋅ 0

Spring AOP 源码分析 - 筛选合适的通知器

1.简介 从本篇文章开始,我将会对 Spring AOP 部分的源码进行分析。本文是 Spring AOP 源码分析系列文章的第二篇,本文主要分析 Spring AOP 是如何为目标 bean 筛选出合适的通知器(Advisor...

java高级架构牛人 ⋅ 55分钟前 ⋅ 0

HTML-标签手册

标签 描述 <!--...--> 定义注释。 <!DOCTYPE> 定义文档类型。 <a> 定义锚。超链接 <abbr> 定义缩写。 <acronym> 定义只取首字母的缩写。 <address> 定义文档作者或拥有者的联系信息。 <apple......

ZHAO_JH ⋅ 57分钟前 ⋅ 0

SylixOS在t_main中使用硬浮点方法

问题描述 在某些使用场景中,应用程序不使用动态加载的方式执行,而是跟随BSP在 t_main 线程中启动,此时应用代码是跟随 BSP 进行编译的。由于 BSP 默认使用软浮点,所以会导致应用代码中的浮...

zhywxyy ⋅ 今天 ⋅ 0

JsBridge原理分析

看了这个Github代码 https://github.com/lzyzsd/JsBridge,想起N年前比较火的Hybrid方案,想看看现在跨平台调用实现有什么新的实现方式。代码看下来之后发现确实有点独特之处,这里先把核心的...

Kingguary ⋅ 今天 ⋅ 0

Intellij IDEA神器常用技巧五-真正常用快捷键(收藏级)

如果你觉得前面几篇博文太啰嗦,下面是博主多年使用Intellij IDEA真正常用快捷键,建议收藏!!! sout,System.out.println()快捷键 fori,for循环快捷键 psvm,main方法快捷键 Alt+Home,导...

Mkeeper ⋅ 今天 ⋅ 0

Java 静态代码分析工具简要分析与使用

本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能、特性等方面对它们进行分析和比较,...

Oo若离oO ⋅ 今天 ⋅ 0

SpringBoot自动配置小记

spring-boot项目的特色就在于它的自动配置,自动配置就是开箱即用的本源。 不过支持一个子项目的自动配置,往往比较复杂,无论是sping自己的项目,还是第三方的,都是如此。刚接触会有点乱乱...

大_于 ⋅ 今天 ⋅ 0

React jsx 中写更优雅、直观的条件运算符

在这篇文字中我学到了很多知识,同时结合工作中的一些经验也在思考一些东西。比如条件运算符 Conditional Operator condition ? expr_if_true : expr_if_false 在jsx中书写条件语句我们经常都...

开源中国最帅没有之一 ⋅ 今天 ⋅ 0

vim编辑模式与命令模式

5.5 进入编辑模式 从编辑模式返回一般模式“Esc” 5.6 vim命令模式 命令 :“nohl”=no high light 无高亮,取消内容中高亮标记 "x":保存退出,和wq的区别是,当进入一个文件未进行编辑时,使...

弓正 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部