文档章节

自定义多功能toast

colorchen
 colorchen
发布于 2015/06/13 18:40
字数 229
阅读 7
收藏 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
博文 21
码字总数 8648
作品 0
郑州
程序员
v-dialogs v1.10 发布,基于 Vue2 的多功能弹出窗口组件

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

TerryZ
06/08
0
0
Android自定义吐司Toast:自定义样式、自定义显示时长

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

天外来客1101
2016/11/23
141
0
Android开发Toast特效详解

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

maiziedu
2015/01/21
829
2
自定义Toast样式,位置

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

ldfowjemr
2016/02/03
135
0
Toast自定义动画

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

风过后
2015/12/11
409
0

没有更多内容

加载失败,请刷新页面

加载更多

20180920 rzsz传输文件、用户和用户组相关配置文件与管理

利用rz、sz实现Linux与Windows互传文件 [root@centos01 ~]# yum install -y lrzsz # 安装工具sz test.txt # 弹出对话框,传递到选择的路径下rz # 回车后,会从对话框中选择对应的文件传递...

野雪球
今天
2
0
OSChina 周四乱弹 —— 毒蛇当辣条

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ 达尔文:分享花澤香菜/前野智昭/小野大輔/井上喜久子的单曲《ミッション! 健?康?第?イチ》 《ミッション! 健?康?第?イチ》- 花澤香菜/前野智...

小小编辑
今天
7
3
java -jar运行内存设置

java -Xms64m #JVM启动时的初始堆大小 -Xmx128m #最大堆大小 -Xmn64m #年轻代的大小,其余的空间是老年代 -XX:MaxMetaspaceSize=128m # -XX:CompressedClassSpaceSize=6...

李玉长
今天
4
0
Spring | 手把手教你SSM最优雅的整合方式

HEY 本节主要内容为:基于Spring从0到1搭建一个web工程,适合初学者,Java初级开发者。欢迎与我交流。 MODULE 新建一个Maven工程。 不论你是什么工具,选这个就可以了,然后next,直至finis...

冯文议
今天
2
0
RxJS的另外四种实现方式(四)——性能最高的库(续)

接上一篇RxJS的另外四种实现方式(三)——性能最高的库 上一篇文章我展示了这个最高性能库的实现方法。下面我介绍一下这个性能提升的秘密。 首先,为了弄清楚Most库究竟为何如此快,我必须借...

一个灰
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部