一款精美的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 多个缩略图 ...
随机推荐
- CSS滤镜 :灰色 ,方便站点哀悼
html { -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); ...
- Vue的路由Router之导航钩子和元数据及匹配
一.文件结构 二.vue.js 打开此链接 https://cdn.bootcss.com/vue/2.6.10/vue.js 复制粘贴页面的所有内容 三.vue-router.js 打开此链接 h ...
- P1080 探测器
题目描述 一个 n*n 的网格图上有 m 个探测器,每个探测器有个探测半径r,问这 n*n 个点中有多少个点能被探测到. 网格图上的点的坐标从(1,1)到(n,n). 输入格式 第一行3个整数n,m, ...
- redisUtil
package com.cinc.ecmp.utils; import org.springframework.beans.factory.annotation.Autowired; import o ...
- html 中文占位符
=> 普通的英文半角空格 => => => no-break space (普通的英文半角空格但不换行) => 中文全角空格 (一个中文宽度) =&g ...
- CSS 手札记
Display:Block/Flex 宽度如果不定义会尽可能的扩充外层宽度 在内容区域使用高度百分比和固定像素高度的时候外层设overflow:auto;可以把内层的高度撑开,否则外层会比内层短一截 ...
- Excel单元格的日常操作
通过右键选择插入来移动单元格 灵活的运用"整行" 与 "整列" 选中区域之后 通过点击区域边框进行移动 按住shift之后框会变成线 更容易拖动 按住ctrl拖 ...
- Django 中配置MySQL数据库
在Django的项目中会默认使用sqlite的数据库 配置MySQL需要在setting.py 里加入以下设置: 配置数据库 DATABASES = { 'default': { 'ENGINE': ...
- 大数据基石——Hadoop与MapReduce
本文始发于个人公众号:TechFlow 近两年AI成了最火热领域的代名词,各大高校纷纷推出了人工智能专业.但其实,人工智能也好,还是前两年的深度学习或者是机器学习也罢,都离不开底层的数据支持.对于动辄 ...
- Kubernetes Clusters
1. 创建集群 Kubernetes集群 Kubernetes协调一个高可用的计算机集群,作为一个单独的单元来一起工作.有了这种抽象,在Kubernetes中你就可以将容器化的应用程序部署到集群中, ...