精华内容
下载资源
问答
  • toasty的使用以及简单封装:https://www.jianshu.com/p/91d4b6d03d6d https://github.com/GrenderG/Toasty ...其中StyleableToast可以实现Toasty的样式,更灵活,我们可以下载Toasty的源码拿到其的图片素材。 ...

    效果演示

    在这里插入图片描述

    添加依赖

    1,在Project的build.gradle文件中添加:

    allprojects {
    	repositories {
    		...
    		maven { url "https://jitpack.io" }
    	}
    }
    

    2,在app的build.gradle文件中添加:

    dependencies {
    	...
    	compile ''com.github.GrenderG:Toasty:1.1.5''
    }
    

    3,自定义旧版本工具类如下:

    public class ToastUtils {
    
        /***
         *
         * 弹出成功消息*   
         * @param text 需要显示的消息   
         * @param isShowIcon 是否需要显示图标 默认显示
         *
         */
        public static void toastSuccess(@NonNull String text, @NonNull Boolean isShowIcon) {
            Toasty.success(MyApplication.getInstance(), text, Toast.LENGTH_SHORT, isShowIcon).show();
        }
    
        /***弹出错误消息*   
         * *@param text 需要显示的消息   
         * *@param isShowIcon 是否需要显示图标 默认显示*
         * */
    
        public static void toastError(@NonNull String text, @NonNull Boolean isShowIcon) {
            Toasty.error(MyApplication.getInstance(), text, Toast.LENGTH_SHORT, isShowIcon).show();
        }
    
         /***弹出info消息*   
          * @param text 需要显示的消息*
          * @param isShowIcon 是否需要显示图标 默认显示*
         */
    
        public static void toastInfo(@NonNull String text, @NonNull Boolean isShowIcon) {
            Toasty.info(MyApplication.getInstance(), text, Toast.LENGTH_SHORT, isShowIcon).show();
        }
    
        /***弹出警告消息*   
         *@param text 需要显示的消息   
         *@param isShowIcon 是否需要显示图标 默认显示*
         */
    
        public static void toastWarn(@NonNull String text, @NonNull Boolean isShowIcon) {
            Toasty.warning(MyApplication.getInstance(), text, Toast.LENGTH_SHORT, isShowIcon).show();
        }
    
        /***
         * 弹出一般的消息
         * @param text
         */
        public static void toastNormal(@NonNull String text) {
            Toasty.normal(MyApplication.getInstance(), text).show();
        }
    
        /***
         * 弹出一般的带icon的消息
         * @param text
         * @param icon  图片id
         */
        public static void toastNormalWithIcon(@NonNull String text, @NonNull int icon) {
            Toasty.normal(MyApplication.getInstance(), text, ContextCompat.getDrawable(MyApplication.getInstance(), icon) ).show();
        }
    
    
        /***
         *
         * @param text 文本
         * @param icon 图标id
         * @param isShowIcon 是否显示图标
         * @param textColor 文本的颜色
         * @param color 设置Toast的颜色
         * @param isShowBackColor 是否应用设置的颜色,如果为false代表不应用,那么依旧显示的是Normal时的颜色
         */
        public static void toastCustorm(@NonNull String text,@NonNull int icon, @NonNull Boolean isShowIcon, @NonNull int textColor,@NonNull int color,@NonNull Boolean isShowBackColor) {
            Toasty.custom(MyApplication.getInstance(), text, ContextCompat.getDrawable(MyApplication.getInstance(), icon),textColor, color, Toast.LENGTH_SHORT, isShowIcon,
                    isShowBackColor).show();
        }
    }
    

    目前GitHub上最新版本为1.3.0,因为最新版本更改了Toast里面的默认字体大小,显得有点太大,不太好看,虽然也可以很方便的额外修改字体大小,字体样式但是毕竟要多写代码比较麻烦,个人感觉旧版本的字体大小刚好合适,如果想使用最新版本,那么接着往下看,因为新版本和旧版本的api有一点差别。

    如果对旧版本字体大小和字体样式没有特定需要,那么使用旧版本即可。

    修改版本号为最新的1.3.0:

    'com.github.GrenderG:Toasty:1.3.0'
    

    3,定义新版本工具类如下:

    public class ToastUtils {
    
        /***
         *
         * 弹出成功消息*   
         * @param text 需要显示的消息   
         * @param isShowIcon 是否需要显示图标 默认显示
         *
         */
        public static void toastSuccess(@NonNull String text, @NonNull Boolean isShowIcon) {
            Toasty.success(MyApplication.getInstance(), text, Toast.LENGTH_SHORT, isShowIcon).show();
        }
    
        /***弹出错误消息*   
         * *@param text 需要显示的消息   
         * *@param isShowIcon 是否需要显示图标 默认显示*
         * */
    
        public static void toastError(@NonNull String text, @NonNull Boolean isShowIcon) {
            Toasty.error(MyApplication.getInstance(), text, Toast.LENGTH_SHORT, isShowIcon).show();
        }
    
         /***弹出info消息*   
          * @param text 需要显示的消息*
          * @param isShowIcon 是否需要显示图标 默认显示*
         */
    
        public static void toastInfo(@NonNull String text, @NonNull Boolean isShowIcon) {
            Toasty.info(MyApplication.getInstance(), text, Toast.LENGTH_SHORT, isShowIcon).show();
        }
    
        /***弹出警告消息*   
         *@param text 需要显示的消息   
         *@param isShowIcon 是否需要显示图标 默认显示*
         */
    
        public static void toastWarn(@NonNull String text, @NonNull Boolean isShowIcon) {
            Toasty.warning(MyApplication.getInstance(), text, Toast.LENGTH_SHORT, isShowIcon).show();
        }
    
        /***
         * 弹出一般的消息
         * @param text
         */
        public static void toastNormal(@NonNull String text) {
            Toasty.normal(MyApplication.getInstance(), text).show();
        }
    
        /***
         * 弹出一般的带icon的消息
         * @param text
         * @param icon  图片id
         */
        public static void toastNormalWithIcon(@NonNull String text, @NonNull int icon) {
            Toasty.normal(MyApplication.getInstance(), text, ContextCompat.getDrawable(MyApplication.getInstance(), icon) ).show();
        }
    
    
        /***
         *
         * @param text 文本
         * @param icon 图标id
         * @param isShowIcon 是否显示图标
         * @param color 设置Toast的颜色
         * @param isShowBackColor 是否应用设置的颜色,如果为false代表不应用,那么依旧显示的是Normal时的颜色
         */
        public static void toastCustorm(@NonNull String text,@NonNull int icon, @NonNull Boolean isShowIcon, @NonNull int color,@NonNull Boolean isShowBackColor) {
            Toasty.custom(MyApplication.getInstance(), text, ContextCompat.getDrawable(MyApplication.getInstance(), icon), color, Toast.LENGTH_SHORT, isShowIcon,
                    isShowBackColor).show();
        }
    }
    

    4,对应的MyApplication代码如下:

    public class MyApplication extends Application {
    
        private static MyApplication instance;
    
        @Override
        public void onCreate() {
            super.onCreate();
            instance= this;
    
    //        Toasty.Config.getInstance()
    //                .setTextColor(Color.GREEN)  // 文字颜色
    //                .setToastTypeface(Typeface.SANS_SERIF) // 设置内置字体
    //                .setToastTypeface(Typeface.createFromAsset(getAssets(), "PCap Terminal.otf"))  // 设置其他字体
    //                .setTextSize(14) // 单位sp
    //                .apply(); // required
    
        }
    
        public static MyApplication getInstance(){
            return instance;
        }
    }
    

    如果想要修改全局的弹出的Toast的文字颜色,字体样式,字体大小等可以在MyApplication中添加上面注释掉的代码,此时会全局生效,如果只想更改某次弹出的Toast的样式的话,可以这样设置:

    Toasty.Config.getInstance()
                 .setTextColor(Color.GREEN)
                 .setToastTypeface(Typeface.createFromAsset(getAssets(), "PCap Terminal.otf"))
                 .apply();
    ToastUtils.toastCustorm("点击了添加按钮3333!",R.drawable.ic_arrow_back_white,false, Color.RED,true);
    Toasty.Config.reset(); // 该句代表重置配置,即恢复默认,如果不写该句,上面的配置会全局生效,直到某次调用reset终止。
    

    注意旧版本中不支持以上更改字体大小和字体样式的代码,但旧版本中支持修改文本颜色,且修改的操作是封装在Custorm方法之中的,详见旧版本工具类中的最后一个方法定义。

    另外再推荐一个支持更多属性的第三方Toast库:https://github.com/Muddz/StyleableToast ,如果这个满足不了你的需求,可以尝试使用该库。

    优化的Toast工具类,去除重复弹出,直接改变文本

    public class ToastUtil {
        private static boolean isShow = true;//默认显示
        private static Toast mToast = null;//全局唯一的Toast
    
        /*private控制不应该被实例化*/
        private ToastUtil() {
            throw new UnsupportedOperationException("不能被实例化");
        }
    
        /**
         * 全局控制是否显示Toast
         *
         * @param isShowToast
         */
        public static void controlShow(boolean isShowToast) {
            isShow = isShowToast;
        }
    
        /**
         * 取消Toast显示
         */
        public void cancelToast() {
            if (isShow && mToast != null) {
                mToast.cancel();
            }
        }
    
        /**
         * 短时间显示Toast
         *
         * @param context
         * @param message
         */
        public static void showShort(Context context, CharSequence message) {
            if (isShow) {
                if (mToast == null) {
                    mToast = Toast.makeText(context, message, Toast.LENGTH_SHORT);
                } else {
                    mToast.setText(message);
                }
                mToast.show();
            }
        }
    
        /**
         * 短时间显示Toast
         *
         * @param context
         * @param resId   资源ID:getResources().getString(R.string.xxxxxx);
         */
        public static void showShort(Context context, int resId) {
            if (isShow) {
                if (mToast == null) {
                    mToast = Toast.makeText(context, resId, Toast.LENGTH_SHORT);
                } else {
                    mToast.setText(resId);
                }
                mToast.show();
            }
        }
    
        /**
         * 长时间显示Toast
         *
         * @param context
         * @param message
         */
        public static void showLong(Context context, CharSequence message) {
            if (isShow) {
                if (mToast == null) {
                    mToast = Toast.makeText(context, message, Toast.LENGTH_LONG);
                } else {
                    mToast.setText(message);
                }
                mToast.show();
            }
        }
    
        /**
         * 长时间显示Toast
         *
         * @param context
         * @param resId   资源ID:getResources().getString(R.string.xxxxxx);
         */
        public static void showLong(Context context, int resId) {
            if (isShow) {
                if (mToast == null) {
                    mToast = Toast.makeText(context, resId, Toast.LENGTH_LONG);
                } else {
                    mToast.setText(resId);
                }
                mToast.show();
            }
        }
    
        /**
         * 自定义显示Toast时间
         *
         * @param context
         * @param message
         * @param duration 单位:毫秒
         */
        public static void show(Context context, CharSequence message, int duration) {
            if (isShow) {
                if (mToast == null) {
                    mToast = Toast.makeText(context, message, duration);
                } else {
                    mToast.setText(message);
                }
                mToast.show();
            }
        }
    
        /**
         * 自定义显示Toast时间
         *
         * @param context
         * @param resId    资源ID:getResources().getString(R.string.xxxxxx);
         * @param duration 单位:毫秒
         */
        public static void show(Context context, int resId, int duration) {
            if (isShow) {
                if (mToast == null) {
                    mToast = Toast.makeText(context, resId, duration);
                } else {
                    mToast.setText(resId);
                }
                mToast.show();
            }
        }
    
        /**
         * 自定义Toast的View
         *
         * @param context
         * @param message
         * @param duration 单位:毫秒
         * @param view     显示自己的View
         */
        public static void customToastView(Context context, CharSequence message, int duration, View view) {
            if (isShow) {
                if (mToast == null) {
                    mToast = Toast.makeText(context, message, duration);
                } else {
                    mToast.setText(message);
                }
                if (view != null) {
                    mToast.setView(view);
                }
                mToast.show();
            }
        }
    
        /**
         * 自定义Toast的位置
         *
         * @param context
         * @param message
         * @param duration 单位:毫秒
         * @param gravity
         * @param xOffset
         * @param yOffset
         */
        public static void customToastGravity(Context context, CharSequence message, int duration, int gravity, int xOffset, int yOffset) {
            if (isShow) {
                if (mToast == null) {
                    mToast = Toast.makeText(context, message, duration);
                } else {
                    mToast.setText(message);
                }
                mToast.setGravity(gravity, xOffset, yOffset);
                mToast.show();
            }
        }
    
        /**
         * 自定义带图片和文字的Toast,最终的效果就是上面是图片,下面是文字
         *
         * @param context
         * @param message
         * @param iconResId 图片的资源id,如:R.drawable.icon
         * @param duration
         * @param gravity
         * @param xOffset
         * @param yOffset
         */
        public static void showToastWithImageAndText(Context context, CharSequence message, int iconResId, int duration, int gravity, int xOffset, int yOffset) {
            if (isShow) {
                if (mToast == null) {
                    mToast = Toast.makeText(context, message, duration);
                } else {
                    mToast.setText(message);
                }
                mToast.setGravity(gravity, xOffset, yOffset);
                LinearLayout toastView = (LinearLayout) mToast.getView();
                ImageView imageView = new ImageView(context);
                imageView.setImageResource(iconResId);
                toastView.addView(imageView, 0);
                mToast.show();
            }
        }
    
        /**
         * 自定义Toast,针对类型CharSequence
         *
         * @param context
         * @param message
         * @param duration
         * @param view
         * @param isGravity        true,表示后面的三个布局参数生效,false,表示不生效
         * @param gravity
         * @param xOffset
         * @param yOffset
         * @param isMargin         true,表示后面的两个参数生效,false,表示不生效
         * @param horizontalMargin
         * @param verticalMargin
         */
        public static void customToastAll(Context context, CharSequence message, int duration, View view, boolean isGravity, int gravity, int xOffset, int yOffset, boolean isMargin, float horizontalMargin, float verticalMargin) {
            if (isShow) {
                if (mToast == null) {
                    mToast = Toast.makeText(context, message, duration);
                } else {
                    mToast.setText(message);
                }
                if (view != null) {
                    mToast.setView(view);
                }
                if (isMargin) {
                    mToast.setMargin(horizontalMargin, verticalMargin);
                }
                if (isGravity) {
                    mToast.setGravity(gravity, xOffset, yOffset);
                }
                mToast.show();
            }
        }
    
        /**
         * 自定义Toast,针对类型resId
         *
         * @param context
         * @param resId
         * @param duration
         * @param view             :应该是一个布局,布局中包含了自己设置好的内容
         * @param isGravity        true,表示后面的三个布局参数生效,false,表示不生效
         * @param gravity
         * @param xOffset
         * @param yOffset
         * @param isMargin         true,表示后面的两个参数生效,false,表示不生效
         * @param horizontalMargin
         * @param verticalMargin
         */
        public static void customToastAll(Context context, int resId, int duration, View view, boolean isGravity, int gravity, int xOffset, int yOffset, boolean isMargin, float horizontalMargin, float verticalMargin) {
            if (isShow) {
                if (mToast == null) {
                    mToast = Toast.makeText(context, resId, duration);
                } else {
                    mToast.setText(resId);
                }
                if (view != null) {
                    mToast.setView(view);
                }
                if (isMargin) {
                    mToast.setMargin(horizontalMargin, verticalMargin);
                }
                if (isGravity) {
                    mToast.setGravity(gravity, xOffset, yOffset);
                }
                mToast.show();
            }
        }
    }
    
    展开全文
  • 第三方开源:Toast工具:Toasty

    千次阅读 2017-01-21 23:01:37
    github:Toasty效果图:配置Project的build.gradlerepositories { maven { url "https://jitpack.io" } jcenter() }module的build.gradledependencies { ... compile 'com.github.GrenderG:Toasty:1.1.2' }使用原

    github:Toasty

    效果图:

    这里写图片描述

    配置

    Project的build.gradle

    repositories {
        maven { url "https://jitpack.io" }
        jcenter()
    }

    module的build.gradle

    dependencies {
        ...
        compile 'com.github.GrenderG:Toasty:1.1.2'
    }

    使用

    原生

    Toasty.normal(context, "normal").show();

    原生 + icon

    Toasty.normal(context, "normal+icon", Toast.LENGTH_SHORT, getResources().getDrawable(R.mipmap.ic_launcher), true).show();

    普通

    Toasty.info(context, "info").show();

    成功

    Toasty.success(context, "success").show();

    警告

    Toasty.warning(context, "warning").show();

    失败

    Toasty.error(context, "error").show();

    自定义

    Toasty.custom(context, "cutstom", getResources().getDrawable(R.mipmap.ic_launcher),getResources().getColor(R.color.color1) , getResources().getColor(R.color.color2), Toast.LENGTH_SHORT, true, true).show();

    源码

    https://git.oschina.net/libraryDemo/Toasty

    展开全文
  • Android第三方——Toasty

    千次阅读 2017-02-22 10:16:45
    Toasty.error(this,mBtn1.getText().toString(), Toast.LENGTH_SHORT,true).show(); } /** *成功Toast: */ private void showSuccess() { Toasty.success(this,mBtn2.getText().toString(),Toast.LENGTH_...

     

    一、导入gradle添加依赖

     

    1.将它添加到您的根build.gradle文件

     

    allprojects {
        repositories {
            jcenter()
            //第一步
            maven { url "https://jitpack.io" }
        }
    }


    2.将其添加到你的项目build.gradle文件

     

     

    /第二步
        compile 'com.github.GrenderG:Toasty:1.1.3'

    二、使用

     

     

     /**
         *错误Toast:
         */
        private void showError() {
            Toasty.error(this,mBtn1.getText().toString(), Toast.LENGTH_SHORT,true).show();
        }
    
        /**
         *成功Toast:
         */
        private void showSuccess() {
            Toasty.success(this,mBtn2.getText().toString(),Toast.LENGTH_SHORT,true).show();
        }
    
        /**
         *信息Toast:
         */
        private void showInfo() {
            Toasty.info(this,mBtn3.getText().toString(),Toast.LENGTH_SHORT,true).show();
        }
    
        /**
         *警告Toast:
         */
        private void showWarning() {
            Toasty.warning(this,mBtn4.getText().toString(),Toast.LENGTH_SHORT,true).show();
        }
    
        /***
         *通常的Toast
         */
        private void showUsual() {
            Toasty.normal(this,mBtn5.getText().toString(),Toast.LENGTH_SHORT).show();
        }
    
        /**
         *带有图标的常用Toast:
         */
        private void showIcon() {
            Toasty.normal(this,mBtn6.getText().toString(),R.mipmap.ic_launcher).show();
        }
    
        /**
         * 创建自定义Toasts :
         */
        private void showCustom() {
            Toasty.custom(this,mBtn7.getText().toString(),
                    R.mipmap.ic_launcher, Color.BLUE,Color.RED,Toast.LENGTH_SHORT,true,true).show();
        }

     

     

     

     

    展开全文
  • Android炫酷的Toasty

    2018-04-24 09:36:55
    前篇 Toast是我们常用的一个小型提示语框,但系统默认的Toast真的很寒酸,查看第三方的时候看到了Toasty,简单易上手,分分钟就能用,接下来我们一起看看。二. 配置(1)在我们的根目录(最外层的build.gradle)中...

    一. 前篇

        Toast是我们常用的一个小型提示语框,但系统默认的Toast真的很寒酸,查看第三方的时候看到了Toasty,简单易上手,

    分分钟就能用,接下来我们一起看看。

    二. 配置

    (1)在我们的根目录(最外层的build.gradle)中添加

    allprojects {
        repositories {
            jcenter()
            maven { url "https://jitpack.io" }    //添加这一条
        }
    }

    (2)在我们的项目(model)中添加

    compile 'com.github.GrenderG:Toasty:1.1.3'

    三. 实现

    这里就只把方法贴出来了,设置按钮点击事件,然后引用这些方法就可以实现对应的效果了,很简单吧

    /**
     * 错误Toast:
     */
    private void showError() {
        Toasty.error(this, btn1.getText().toString(), Toast.LENGTH_SHORT, true).show();
    }
    
    /**
     * 成功Toast:
     */
    private void showSuccess() {
        Toasty.success(this, btn2.getText().toString(), Toast.LENGTH_SHORT, true).show();
    }
    
    /**
     * 信息Toast:
     */
    private void showInfo() {
        Toasty.info(this, btn3.getText().toString(), Toast.LENGTH_SHORT, true).show();
    }
    
    /**
     * 警告Toast:
     */
    private void showWarning() {
        Toasty.warning(this, btn4.getText().toString(), Toast.LENGTH_SHORT, true).show();
    }
    
    /***
     *通常的Toast
     */
    private void showUsual() {
        Toasty.normal(this, btn5.getText().toString(), Toast.LENGTH_SHORT).show();
    }
    
    /**
     * 带有图标的常用Toast:
     */
    private void showIcon() {
        Toasty.normal(this, btn6.getText().toString(), R.mipmap.ic_launcher).show();
    }
    
    /**
     * 创建自定义Toasts :
     */
    private void showCustom() {
        Toasty.custom(this, btn7.getText().toString(),
                R.mipmap.ic_launcher, Color.BLUE, Color.RED, Toast.LENGTH_SHORT, true, true).show();
    }
    每天进步一点点!


    展开全文
  • Toasty

    2017-03-04 20:01:33
    Toasty 一个创建自定义Toast的。正如作者所说,这个是: The usual Toast, but with steroids.
  • Android第三方库Toasty--binbinYang

    千次阅读 2017-04-21 17:54:46
    今天同事推荐了这么一个,用到了项目中  https://github.com/GrenderG/Toasty 先上效果图 一、导入gradle添加依赖 1.将它添加到您的根build.gradle文件 allprojects { repositories { ... maven...
  • 今天让我们来看看这个给我们带来:错误提示,信息提示,成功提示,警告提示等等。请看效果图: 1,在build.gradle文件中添加如下代码: allprojects { repositories { jcenter() maven { url ...
  • 安卓开发 Toasty的使用

    2017-05-16 10:48:05
    浪了好几天都没写博客,挺忙碌的,昨天被推荐一个第三方的 Toaaty感觉不错,所以自己测试玩了一下,非常简单好用~ 首先添加依赖: ...Toasty的几张截图(感觉挺好看的又简单):
  • 烤企鹅池 2015 ACSL游戏项目。... 也可能需要SDL。 要安装必要的Ruby依赖项,只需运行bundle install 。 跑步: ./toasty_penguin_pool 如果您尚未安装Bash,请运行Ruby文件src/toasty_penguin_pool.rb 。
  • 很多很好的公开,都可以直接使用,可以使自己的app效果更加的炫,还可以缩短开发周期。 这里就主要说下,如何导入github上的项目,并如何引用。一开始导入,会遇到挺多问题,也不知道咋处理,慢慢摸索了两天,...
  • UI开源

    千次阅读 2017-07-17 18:55:35
    整理并维护的安卓UI相关开源项目集合。我们会定期同步 OpenDigg 上的项目到这里,也欢迎各位 提交项目 给我们。 如果收录的项目有错误,可以通过 issue 反馈给我们。这里的项目Star数不是实时更新的,一般是一周...
  • 该项目演示了不同的用法,例如: :无依赖性的Angular 2拖放 :Angular2 Toasty组件为您的应用程序显示咆哮风格的警报和消息 :Angular 2组件在页面顶部显示了slim加载栏 安装 克隆此仓库并在您最喜欢的shell中...
  • Android 整理常用的第三方

    千次阅读 2018-08-28 14:45:41
    文档是根据Github中的相关三方框架进行整理,切实为Android开发者提供方便的三方地址。   框架分类 分类说明 框架名称 Github地址 框架介绍 UI 刷新 SmartRefreshLayout ...
  • :bus: 校车 课桌组件 关于 是一个组件,它为开发人员提供了构建产品的最简单方法。 动机 为了给我们的用户创造..." just-toasty " : " ^1.3.0 " , " styled-components " : " ^4.3.2 " 之后,您可以安装该

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 382
精华内容 152
关键字:

toasty库