一款精美的Toast第三方库的简单使用
- 以前一直用的安卓原生Toast,个人感觉Toast这东西,没必要花功夫,知道看到了Toasty这东西,立刻被圈粉了,真的非常好看。
- 项目地址
我们都知道,安卓原生Toast的用法是
Toast.makeText(MainActivity.this,"Toast显示内容",Toast.LENGTH_SHORT).show();
方法内由Context、内容、持续时间(LENGTH_SHORT为短时间,2秒。LENGTH_LONG为长时间,3.5秒。也可以用毫秒数代替)构成。而Toasty的实际使用,也跟原生的使用方法基本一致,这就非常舒服了。
首先,我们需要在工程根目录的build.gradle添加仓库
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
然后,在app目录下的build.gradle添加依赖
dependencies {
...
//截止到写这篇博客时最新版为1.4.2
implementation 'com.github.GrenderG:Toasty:1.4.2'
}
完成了以上的准备工作,现在就可以使用了
错误Toast
Toasty.error(MainActivity.this, "This is an error toast.", Toast.LENGTH_SHORT, true).show();
成功Toast
Toasty.success(MainActivity.this, "This is a success toast.", Toast.LENGTH_SHORT, true).show();
提示Toast
Toasty.info(MainActivity.this, "This is an info toast.", Toast.LENGTH_SHORT, true).show();
警告Toast
Toasty.warning(MainActivity.this, "This is a warning toast.", Toast.LENGTH_SHORT, true).show();
原生Toast
当然,也有修改后的原生Toast,满足你的不同需求
Toasty.normal(MainActivity.this, "Normal toast.").show();
带图片的原生Toast
Toasty.normal(MainActivity.this, "Normal toast.", IconDrawable).show();
//IconDrawable是你需要放入的图片,可以用getDrawable实现。以软件图标当Toast图片为例,则用法为:
Toasty.normal(MainActivity.this, "Normal toast.",getResources().getDrawable(R.drawable.ic_launcher)).show();
自定义Toast
当然肯定少不了自定义Toast
//官方的介绍是:
Toasty.custom(yourContext, "I'm a custom Toast", yourIconDrawable, tintColor, duration, withIcon, shouldTint).show();
但在实际使用时,则需要自己补全步骤
图片仍然用getDrawable,而颜色可以直接使用安卓定义的Color.BLUE、Color.RED等分别设置背景颜色和文本颜色,用法如下:
Toasty.custom(MainActivity.this, "I'm a custom Toast", getResources().getDrawable(R.drawable.ic_launcher),Color.BLUE,Color.RED, Toast.LENGTH_SHORT, true,true).show();
然而,实际中更需要的当然是自定义颜色。这可以用类似的getColor实现:
1.在/res/valus目录下的colors.xml中设置颜色值
<resources>
<color name="color1">#BBDEFB</color>
<color name="color2">#ffffff</color>
</resources>
2.使用getColor引用color1和color2
Toasty.custom(MainActivity.this, "I'm a custom Toast", getResources().getDrawable(R.drawable.ic_launcher),getResources().getColor(R.color.color1),getResources().getColor(R.color.color2), Toast.LENGTH_SHORT, true,true).show();
统一配置
Toasty支持统一配置内容,可以搭配封装来用本身这个库的使用就非常简单,但是实际使用需要那么长一条还是比较麻烦。所以封装这个不必要,但可以搞一搞,使用时也就不用一个参数一个参数写进去了,而这个的封装也比较简单。
封装
效果展示

相关资源
一款精美的Toast第三方库的简单使用的更多相关文章
- python第三方库requests简单介绍
一.发送请求与传递参数 简单demo: import requests r = requests.get(url='http://www.itwhy.org') # 最基本的GET请求 print(r ...
- 第三方库PIL简单使用
PIL为第三方库,需要简单安装,最容易的安装方法 pip install PIL 详细内容见http://effbot.org/imagingbook/ 下面展示一个简单用例:(字母验证码简单实现) ...
- 吐血整理!Python常用第三方库,码住!!!
Python作为一种编程语言近年来越来越受欢迎,它为什么这么火? 其中一个重要原因就是因为Python的库丰富--Python语言提供超过15万个第三方库,Python库之间广泛联系.逐层封装.几 ...
- 【转】提示框第三方库之MBProgressHUD iOS toast效果 动态提示框效果
原文网址:http://www.zhimengzhe.com/IOSkaifa/37910.html MBProgressHUD是一个开源项目,实现了很多种样式的提示框,使用上简单.方便,并且可以对显 ...
- iOS开发常用第三方库
UI 动画 网络相关 Model 其他 数据库 缓存处理 PDF 图像浏览及处理 摄像照相视频音频处理 响应式框架 消息相关 版本新API的Demo 代码安全与密码 测试及调试 AppleWatch ...
- IOS常用第三方库《转》
UI 动画 网络相关 Model 其他 数据库 缓存处理 PDF 图像浏览及处理 摄像照相视频音频处理 响应式框架 消息相关 版本新API的Demo 代码安全与密码 测试及调试 AppleWatch ...
- Python库,让你相见恨晚的第三方库
环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具.pyenv – 简单的 Python 版本管理工具.Vex – 可以在虚拟环境中执行命令.virt ...
- python第三方库,你要的这里都有
Python的第三方库多的超出我的想象. python 第三方模块 转 https://github.com/masterpy/zwpy_lst Chardet,字符编码探测器,可以自动检测文本. ...
- iOS 第三方库、插件、知名博客总结
iOS 第三方库.插件.知名博客总结 用到的组件 1.通过CocoaPods安装 项目名称 项目信息 AFNetworking 网络请求组件 FMDB 本地数据库组件 SDWebImage 多个缩略图 ...
随机推荐
- kindeditor编辑器微软雅黑样式font-family值变成"
http://www.100cm.cn/article-126-764.html kindeditor编辑器中选中文字, 修改字体(字体名称中带有空格, 例如"Microsoft YaHei ...
- ArrayList中remove方法和set(null)的区别
在分析源码ArrayList.remove()时,偶然发现了一个疑惑的点,就是:源码也是将最后一个对象的引用指向null(源码:elementData[--size] = null; // clear ...
- python3快捷键
原文:https://blog.csdn.net/pipisorry/article/details/39909057 PyCharm3.0默认快捷键(翻译的) PyCharm Default Key ...
- 为什么阿里代码规约要求避免使用 Apache BeanUtils 进行属性复制
缘起 有一次开发过程中,刚好看到小伙伴在调用 set 方法,将数据库中查询出来的 Po 对象的属性拷贝到 Vo 对象中,类似这样: 可以看出,Po 和 Vo 两个类的字段绝大部分是一样的,我们一个个地 ...
- 响应式自适应布局代码,rem布局
响应式自适应布局代码 首先是先设置根字体大小,PC端一般是16px为根字体,移动端会有不同的,根据情况来设置 js部分 document.querySelector('html').style.fon ...
- 2018-9-30-C#-传入-params-object-长度
title author date CreateTime categories C# 传入 params object 长度 lindexi 2018-09-30 18:33:20 +0800 201 ...
- Loj3033 JOISC 2019 Day2两个天线
Loj3033 JOISC 2019 Day2两个天线 下午唯一听懂的题目但,但还是比较模糊.写一篇题解来加深一下印象. 题目大意:给定\(n\)根天线,第\(i\)跟天线的高度为\(h_i\),切它 ...
- 2019-5-31-SharpDx-进入全屏模式
title author date CreateTime categories SharpDx 进入全屏模式 lindexi 2019-5-31 9:5:36 +0800 2019-5-30 20:1 ...
- Java 高效代码50例
导读 世界上只有两种物质:高效率和低效率:世界上只有两种人:高效率的人和低效率的人.----萧伯纳 常量&变量 直接赋值常量,禁止声明新对象 直接赋值常量值,只是创建了一个对象引用,而这个对象 ...
- onCreate不加载布局
如果Activity重写的是 onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentS ...