美文网首页Android Develop
自定义吐司Toast(二)

自定义吐司Toast(二)

作者: 弃用简书 | 来源:发表于2017-04-17 23:21 被阅读65次

Toast是Android中用来显示显示信息非常常用的一种方法,相信很多同学比仅仅满足于系统自带的吐司,于是乎就有自定义吐司这种需求了。
之前写了一篇自定义吐司Toast,全是吐的文字或者图片是写死的,介绍了Toast的位置。那么我发现很多带图片的我也想用Toast来显示。比如登录成功失败,显示个笑脸哭脸了什么的。

效果图

这里写图片描述

自定义过程中也发生了这样那样的问题,具体是什么就不啰嗦了,之后参考了Toast的源码来定义了一个。而且你会发现这个Toast不会发生我们用自带Toast的一种情况就是必须等前一个Toast消失了下一个才显示,当你多次快速点击时候会发现Toast不消失了,这里直接实现静态切换,Maybe 这也算稍微进阶点了吧。
直接贴源码:

   /**
     * customize short toast.
     *
     * @param context
     * @param message
     * @param resId   the resource id for imageView
     */
    public static void showKevinToast(Context context, String message, int resId) {
        if (mKevinShortToast == null) {
            mKevinShortToast = new Toast(context);
        }
        LayoutInflater inflate = (LayoutInflater)
                context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View v = inflate.inflate(R.layout.layout_tip_toast, null);
        mKevinShortToast.setView(v);
        TextView tv = (TextView) v.findViewById(R.id.toast_text);
        ImageView iv = (ImageView) v.findViewById(R.id.toast_image);
        tv.setText(message);
        iv.setImageResource(resId);
        mKevinShortToast.setDuration(Toast.LENGTH_SHORT);
        mKevinShortToast.show();
    }

这里面也写了一些平时常用Toast的时候的简化,不用每次都写context,duration,show了,直接写showToast("Android")即可。


    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_one:
                showToast("Hello", R.drawable.ic_moto);
                break;
            case R.id.btn_two:
                showToast("Android", R.drawable.ic_rocket);
                break;
            case R.id.btn_three:
                showToast("Android", R.drawable.ic_ship);
                break;
            case R.id.btn_four:
                showToast2("Kevin\t" + ++count, R.drawable.ic_jewel);
                break;
        }
    }

有需要的点击下面链接下载:

链接一

链接二

相关文章

  • 自定义吐司

    public void onClick(View v) { //设置自定义吐司视图 Toast tp = new ...

  • 自定义吐司Toast(二)

    Toast是Android中用来显示显示信息非常常用的一种方法,相信很多同学比仅仅满足于系统自带的吐司,于是乎就有...

  • 常用依赖框架与项目

    常用框架 1 自定义弹窗,其中包括:自定义Toast,采用builder模式,支持设置吐司多个属性;自定义dial...

  • 安卓第二课

    1 吐司制作 下面来一个高级的吐司 完全自定义toast 2.scrollView 3 处理事件 在我看来下面这个...

  • 自定义吐司Toast

    Toast是Android中用来显示显示信息非常常用的一种方法,相信很多同学比仅仅满足于系统自带的吐司,于是乎就有...

  • Android开发中,简单修改android原生Toast(吐司

    Android开发中,简单修改android原生Toast(吐司)的样式。 第一步,新建shape文件,自定义边框...

  • Toast和AlertDialog通用工具

    (1)自定义Toast (2)自定义对话框 (3)二合一 这里涉及到Toast, 使用Toast之前必须先判断是否...

  • Toast(自定义Toast)

    默认的Toast: 自定义Toast(自定义图标样式\显示时间\位置): 效果图: 代码:

  • 快速toast工具类 解决toast延迟问题

    带图片的吐司窗体 快速toast 让其在主线程进行

  • 食物

    french toast 法式吐司 jam 果酱 bacon 培根 cereal 谷物 bottomless pi...

网友评论

    本文标题:自定义吐司Toast(二)

    本文链接:https://www.haomeiwen.com/subject/dkvxzttx.html