android toast 带图片,Android 带图片的Toast
带图片的Toast,其实就是自定义布局的Toast,只要Toast.setView即可。
Toast也能设置显示的位置,中间或者底部之类的
toast.setGravity(gravity, xOffset, yOffset)
Toast过长显示不居中的问题,就可以自定义布局
Toast
toast.gif使用findViewById(R.id.btnShortToast).setOnClickListener {
ToastUtils.shortToast(R.string.normal_toast)
}
findViewById(R.id.btnLongToast).setOnClickListener {
ToastUtils.longToast(getString(R.string.long_toast))
}
findViewById(R.id.btnCenterToast).setOnClickListener {
ToastUtils.setToastGravity(Gravity.CENTER, 0, 0)
ToastUtils.shortToast(R.string.center_toast)
}
findViewById(R.id.btnBottomToast).setOnClickListener {
ToastUtils.setToastGravity(Gravity.BOTTOM, 0, 100)
ToastUtils.shortToast(R.string.bottom_toast)
}
findViewById(R.id.btnImageToast).setOnClickListener {
ToastUtils.shortImageToast(R.string.image_toast)
}直接看代码解释object ToastUtils { private var toast: Toast? = null
private var imageToast: Toast? = null
fun cancelToast() {
toast?.let {
it.cancel()
}
imageToast?.let {
it.cancel()
}
} /**
* 初始化Toast
*/
private fun initToast(): Toast? { if (null == toast) { //Toast如果没有自定义view,就要makeText
toast = Toast.makeText(BaseApplication.getInstance(), "", Toast.LENGTH_SHORT)
} return toast
} /**
* 默认Toast
*/
fun shortToast(message: Any) {
normalToast(message, Toast.LENGTH_SHORT)
} fun longToast(message: Any) {
normalToast(message, Toast.LENGTH_LONG)
} /**
* @param message 内容,string或资源id
* @param duration Toast的显示时长
*/
fun normalToast(message: Any, duration: Int) {
initToast()
toast?.let { if (message is String) {
it.setText(message)
} else if (message is Int) {
it.setText(message)
}
it.duration = duration
it.show()
}
} /**
* 设置Toast位置
*/
fun setToastGravity(gravity: Int, xOffset: Int, yOffset: Int) {
toast?.let {
it.setGravity(gravity, xOffset, yOffset)
}
} /**
* 图片Toast初始化
*/
private fun initImageToast(): Toast? { if (null == imageToast) {
imageToast = Toast(BaseApplication.getInstance())
imageToast?.setGravity(Gravity.CENTER, 0, 0)
} return imageToast
} /**
* 默认图片Toast
*/
fun shortImageToast(message: Any) {
imageToast(message, null, Toast.LENGTH_SHORT)
} /**
* 自定义图片Toast
*/
fun shortImageToast(message: Any, img: Int?) {
imageToast(message, img, Toast.LENGTH_SHORT)
} /**
* 长时间图片Toast
*/
fun longImageToast(message: Any) {
imageToast(message, null, Toast.LENGTH_LONG)
} /**
* 长时间自定义图片Toast
*/
fun longImageToast(message: Any, img: Int?) {
imageToast(message, img, Toast.LENGTH_LONG)
} /**
* 设置图片Toast位置
*/
fun setImageToastGravity(gravity: Int, xOffset: Int, yOffset: Int) {
imageToast?.let {
it.setGravity(gravity, xOffset, yOffset)
}
} /**
* @param message 内容,string或资源id
* @param img 图片资源id
* @param duration Toast的显示时长
*/
fun imageToast(message: Any, img: Int?, duration: Int) {
initImageToast()
imageToast?.let { //可以是其他自定义布局
val rootView = LayoutInflater.from(BaseApplication.getInstance()).inflate(R.layout.toast_view, null) //设置消息
val txtContent = rootView.findViewById(R.id.txtContent) if (message is String) {
txtContent.text = message
} else if (message is Int) {
txtContent.setText(message)
} //设置图片
val imgContent = rootView.findViewById(R.id.imgContent)
imgContent.setImageResource(R.drawable.ic_success_white)
img?.let {
imgContent.setImageResource(it)
}
it.view = rootView
it.duration = duration
it.show()
}
}
}
作者:Good包籽
链接:https://www.jianshu.com/p/a21b4f409250
打开App,阅读手记
android toast 带图片,Android 带图片的Toast相关推荐
- 【Android开发】范例1-实现带描边的圆角图片
利用学过的BitmapShader渲染类,我们来实现一个带描边的圆角图片. 具体实现: 用来显示自定义的绘图类的布局文件 res/layout/main.xml: <?xml version=& ...
- Android:ViewPager详解(异步网络加载图片,带图片缓存,并带导航小圆点)
android 应用中,如欢迎指引页面, 和图片轮播功能, 或者更多的内容在一页显示不了,要分成多个页面,这时候viewpager是很好用的. 首先看下效果: 下面是一个例子,带异步网络加载图片,并带 ...
- Android图片加载框架最全解析(七),实现带进度的Glide图片加载功能
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/78357251 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭 ...
- android bitmap转图片_带你用Android自定义View实现网易云音乐宇宙尘埃特效
作者:Mlx, 链接:https://juejin.im/post/6871049441546567688 前言 前段时间,女朋友用网易云音乐的时候看到一个宇宙尘埃特效,说很好看,想要让我给她开VIP ...
- android 背景描边,Android实现带描边的圆角图片
利用学过的BitmapShader渲染类,我们来实现一个带描边的圆角图片. 具体实现: 用来显示自定义的绘图类的布局文件 res/layout/main.xml: xmlns:tools=" ...
- android bitmap 描边,Android如何实现带描边的圆角图片
Android如何实现带描边的圆角图片 发布时间:2021-04-16 13:53:03 来源:亿速云 阅读:99 作者:小新 这篇文章给大家分享的是有关Android如何实现带描边的圆角图片的内容. ...
- android圆球触摸怎么实现,Android利用ViewPager实现带小圆球的图片滑动
Android利用ViewPager实现带小圆球的图片滑动 发布时间:2020-10-02 05:55:29 来源:脚本之家 阅读:69 作者:antimage08 在上文实现的带小圆球的图片滑动的通 ...
- Android 心形图片心形ImageView、带边框的的心形图片和圆形图片
源码地址:心形图片.心形ImageView.圆形图片.圆形ImageView 实际效果如下: 一.思路 1.图片尺寸:加载的图片尺寸不会完全统一,可以是正方形,长方形等,这里不需要考虑正方形,因为一般 ...
- android仿微信头像点击放大查看,仿微信查看图片(带大小图切换查看)
之前一直想仿微信朋友圈那样做个图片查看,但是看了网上很多demo都觉得比较简单,少了从小图切换到大图的加载过程,都只是在所有预览里加载大图,点击进去也是加载大图,于是在网上下载了别人的demo自己修改 ...
- Android 摄像头拍照显示 相册显示 图片裁剪绘制显示
声明: 学习这个之前, 建议先学习下内容提供器. 使用的是Android系统自带的裁剪功能. 本人真机(华为荣耀9 Android8.0)测试, 先上效果图(拍照和从相册选, 一样的效果): .1. ...
最新文章
- 逸鹏说道:漫漫人生路
- 第二十二章:动画(十四)
- struts2综合例子--------拦截器(登陆检查,日志记录),校验validate,
- 学JS的心路历程-Promise(一)
- 时序分析:DTW算法(基于模板)
- php curl和file get,PHP cURL与file_get_contents
- python程序打包多个py文件_不使用setup.py,打包 Python 项目
- html5进度条插件 传递参数,Html5进度条插件(自写)
- c++ map底层_深入浅出Redisredis底层数据结构(上)
- 力扣914.卡牌分组
- java应用中如何连接dbproxy_GitHub - alchemystar/hero: 用c语言写的dbproxy
- m序列生成方法及其fpga实现
- 机器视觉中偏振片的应用
- amd显卡风扇调节_AMD Crimson驱动程序导致显卡风扇速度过低,官方: 请尽快修复...
- cfree mysql_如何配置CFree才能开发MySql数据库应用
- Python之路,Day1 - Python基础1
- 榜样访谈——曾钰倬:从讲座中收获经验
- 人民币小写转大写算法
- 中国金融进入移动支付时代
- OneData方法论-概述