Toasty的使用以及简单封装

,toasty的使用。为啥要用toasty呢,咳咳,大家都用过安卓自带的toast,试想这样一个场景,你正在使用一个五彩斑斓,各种炫酷动画层出不穷的APP,突然冒出了这样的图片。。。

这样颜值不高的东西,怎么能找到女友呢,呸,怎么能获得用户喜欢呢,所以,我们要提高颜值!

    在本节以前,会用到以前文章所讲过的东西,避免重复,就直接给地址

 一、全局使用context

好了,那先来看看使用toasty之后的效果图吧

感觉比原来还是提高了很多的,接下来,就进入正题吧

一、准备工作

(1)在build.gradle(project级别)中添加maven

allprojects {

repositories {

jcenter()

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

}

}

(2)在build.gradle(app级别)中添加依赖

偷懒的同学直接复制这里:compile'com.github.GrenderG:Toasty:1.1.5'

这样,我们就可以在项目中愉快的使用toasty了

二、使用Toasty

Toasty.success(this,"成功", Toast.LENGTH_SHORT,true).show();

Toasty.error(this,"失败",Toast.LENGTH_SHORT,true).show();

Toasty.info(this,"失败",Toast.LENGTH_SHORT,true).show();

Toasty.normal(this,"一般",Toast.LENGTH_SHORT).show();

Toasty的使用和toast差不多,只是多了一个是否显示图片的选项,是不是特别简单啊(哎哎哎,后面那个说很难的,你站到外面去)。那这时候又有同学要问了,你这个只是在activity中好用吧,要是在适配器中使用,还是很麻烦啊之类的,这位同学,你别激动,你没看文章标题吗,还有封装 封装呢

三:toasty的简单封装

嗯。。这个该怎么说,与其说是封装,倒不如称之为加入我们自己的工具类,一个高逼格的程序猿,出去说没有自己的工具类都显得有点落伍,哈哈哈,实际情况是不是这样我不知道,但是你有一个属于自己的工具类,开发业务的时候一定可以帮你节约一些时间的。好了,回归正题,使用toasty的方式还是挺简单的,但是context和toast显示的时间如果每次都要传是不是很麻烦,因此我们可以将之再封装一层,让每次使用的时候少传点参数。尤其是context,在经过封装后,在适配器中使用toasty就不用传context过去了,方便

封装的代码如下:

package com.example.administrator.potato.utils;

import android.support.annotation.NonNull;

import android.widget.Toast;

import es.dmoral.toasty.Toasty;

/**

* Created by potato on 2018/7/30.

*/

public class ToastMessage {

/**

*弹出成功消息

*

    *@param text 需要显示的消息

    *@param isShowIcon是否需要显示图标 默认显示

* */

    public static void toastSuccess(@NonNull String text, BooleanisShowIcon){

if(isShowIcon==null){

isShowIcon=true;

        }

Toasty.success(MyContext.getContext(),text, Toast.LENGTH_SHORT,isShowIcon).show();

    }

/**

*弹出错误消息

*

    *@param text 需要显示的消息

    *@param isShowIcon 是否需要显示图标 默认显示

* */

    public static void toastError(@NonNull String text, Boolean isShowIcon){

if(isShowIcon==null){

isShowIcon=true;

        }

Toasty.error(MyContext.getContext(),text, Toast.LENGTH_SHORT,isShowIcon).show();

    }

/**

*弹出一般消息

*

    *@param text 需要显示的消息

* */

    public static void toastNormal(@NonNull String text){

Toasty.normal(MyContext.getContext(),text, Toast.LENGTH_SHORT).show();

    }

/**

*弹出警告消息

*

    *@param text 需要显示的消息

    *@param isShowIcon 是否需要显示图标 默认显示

* */

    public static void toastWarn(@NonNull String text, Boolean isShowIcon){

if(isShowIcon==null){

isShowIcon=true;

        }

Toasty.warning(MyContext.getContext(),text, Toast.LENGTH_SHORT,isShowIcon).show();

    }

}

可以看到的时,我们使用自己的context类来获取context,这样就避免了老是要传context的操作

,此外,我们也把toasty显示的时间固定为short,所以经过一层简单的封装后,我们使用toasty的方式是这样的

只需要传文本值和是否显示图标就行了,有眼尖的同学也会提出疑问了,土豆哇,人家toasty的api要四个参数,如果我这样写

ToastMessage.toastSuccess("这是成功的消息",null);

把是否显示图标的值设置为null,你的程序不就报错了吗,这个问题很好,为了避免这种情况,我是这样处理的

首先,要弹出的文字加一个@NonNull来保证其不为空,只有是否显示图标是可选的,如果使用的时候传了空值进去,就直接默认为true,显示图标啦

总结:

好啦,文章到这里也就要结束了,麻烦中间的同学把后排睡觉的同学喊起来,下课了。。等等,还是做个简单总结

1、文章所用的知识有时候会复用以前讲过的,所以中途来蹭课的小伙伴可能对某一部分很困惑,嘴里还念叨着劳资明明只想看技术f,你给我把abcde都推送过来了,你以为你卖全家桶啊之类的话,em...这个问题,其实我也不想的嘛,但是写程序不为了偷懒,那是为了啥呢,对,这个理由好。我也只将一些简单的,使用方便的类封装起来用,而且文章开头也会给出超过文章知识的链接,很基础哒,各位同学一看就会的那种

2、本项目的码云地址:https://gitee.com/fightPotato/potato.git,有想偷懒的可以直接下来看看,顺便帮我找找bug哇

原创文章 63 获赞 33 访问量 10万+

猜你喜欢

转载自blog.csdn.net/hdhhd/article/details/103082740