美文网首页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;
            }
        }
    

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

    链接一

    链接二

    相关文章

      网友评论

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

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