Android Toast 使用
Toast – 简短消息提示工具
TL;DR
为避免 Toast 重叠, 推荐使用如下工具方法弹出 Toast:
private static Toast mToast = null;
public static void showToast(Context context, int resId) {if(mTosat == null){mToast = Toast.makeText(context, resId, Toast.LENGTH_SHORT);} else {mTost.setText(resId);}mToast.show();
}
如果使用多个 Toast 连续调用 show() 方法显示消息,这些消息会成队列式弹出,并且无法取消,出现 Toast 滞留现象。
静态方法
Toast makeText (Context context, int resId, int duration)
Toast makeText (Context context, CharSequence text, int duration)
使用该静态方法可以方便得传入内容和显示时长来获得一个 Toast 对象. 位置默认在底部居中,可另行设置.
除非需要自定义 Toast View , 否则不要用构造方法创建 Toast.
构造方法
创建空的 toast 对象。需要单独设置参数(时长,内容,位置等)
Toast(Context context)
主要参数: 时长, 位置, 内容
设置显示时长
void setDuration (int duration) /** 有效参数: Toast.LENGTH_SHORT, Toast_LENGTH_LONG */
设置显示位置
void setGravity (int gravity, int xOffset, int yOffset)/** 如显示在左上角: toast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 0); */
设置显示内容
void setText (int resId) void setText (CharSequence s)/** 默认的 Toast 包含一个 TextView, 只是简单地显示一条文本. */
这里要注意的是与 TextView 的 setText 方法一样, 如果传入 int 型参数, 会将其当做字符串资源 id. 如果要显示数字, 要先转成字符串类型。尤其是设置从服务端获取的数据时要留意一下数据类型。
设置显示样式
自定义 Toast 样式
首先创建布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/custom_toast_container"android:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="fill_parent"android:padding="8dp"android:background="#DAAA"> <ImageView android:src="@drawable/droid"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginRight="8dp"/> <TextView android:id="@+id/text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textColor="#FFF"/> </LinearLayout>
注意外层 LinearLayout 的 ID 为 “custom_toast_container”, 这是必需值 , 不可更改.
对 Toast 进行设置
LayoutInflater inflater = getLayoutInflater(); // 将布局文件转成 View 对象 View layout = inflater.inflate(R.layout.custom_toast,(ViewGroup) findViewById(R.id.custom_toast_container));// 获取承载消息的 TextView TextView text = (TextView) layout.findViewById(R.id.text); text.setText("This is a custom toast");Toast toast = new Toast(getApplicationContext()); toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0); toast.setDuration(Toast.LENGTH_LONG); // 设置自定义的布局 toast.setView(layout); toast.show();
Android Toast 使用相关推荐
- [Android] Toast问题深度剖析(二)
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者: QQ音乐技术团队 题记 Toast 作为 Android 系统中最常用的类之一,由于其方便的api设计和简洁的交互体验,被我们所广泛采用 ...
- android toast的使用
今天,没有什么可以写的,在网上查找资料,发现toast有很多知识点,所以记录一下. Toast Toast是为了给当前视图显示一个浮动的显示块,它永远不会获得焦点.一般用于提示一些不那么引人注目,但是 ...
- 使用Kotlin的Android Toast
Android Toast is a UI widget that pops up on the screen for some time. It's very similar to a notifi ...
- Android Toast 设置到屏幕中间,自定义Toast的实现方法,及其说明
http://blog.csdn.net/wangfayinn/article/details/8065763 Android Toast用于在手机屏幕上向用户显示一条信息,一段时间后信息会自动消失. ...
- Android Toast cancel和show深入浅出实战
说到Android Toast,几乎都很熟悉吧,下面讲讲怎么实现下面几种场景: 1.连续点击一个按钮,每次都产生一个新的Toast并且调用show方法 问题:触发了toast以后,toast内容会一直 ...
- 自定义 Android toast 字体大小
让Android Toast 居中 可以设置 字体大小 Toast toast = Toast.makeText(this, "这是一个简单的自定义Toast", Toast.LE ...
- Android Toast 自定义显示时长
Android Toast 只支持两种时间 LENGTH_SHORT 2 秒,LENGTH_LONG 3.5 秒,但是有场景需要自定义显示时长就会有问题,所以需要自定义实现,下边是自定义的类,通过定时 ...
- robotframework + appium 获取android toast
android toast 获取主要方式是在出现toast的时候查找元素:xpath=//*[contains(@text,'记同步')] ,该xpath 表示为toast信息含有 "记 ...
- qt自定义控件-模拟Android toast提示窗口
一.前言 好久没写博客了,最近一直写材料,很难受,在家做点小东西,正好遇到了想做的效果,在桌面程序实现Android的toast效果 二.环境 目标机linux,测试机window10 qt5.7 本 ...
- Android Toast类
1. 默认创建 Toast是一种简易的消息提示框,toast提示框不能被用户点击,会根据用户设置的显示时间后自动消失. Toast静态方法makeText(),生成Toast实例,并调用show()方 ...
最新文章
- 自然语言处理中的Attention Model:是什么以及为什么[一]
- mysql增备脚本--xtrabackup实现
- Oracle8的不安全因素及几点说明
- JMeter配置元件【HTTP请求默认值】
- 两台XP系统电脑用双网卡共享上网操作
- HTTP中的POST、GET区别
- 拓端tecdat|用R语言中的神经网络预测时间序列:多层感知器和极限学习机
- LNMP的运维追踪技巧总结
- keil5图标变成白色_图标设计全方位解读
- Java 算法 - 递归算法思想
- 数据库系统工程师怎么备考?
- java毕设项目——图书借阅管理系统(附源码课件)
- CSS(定位、淘宝轮播图案例、网页布局总结、元素的显示和隐藏、鼠标经过显示遮罩)
- 4.STACEY矩阵及其对应的开发模型、敏捷开发评估方法
- python类计算器开发_开发一个简单的python计算器
- app常见的专项测试以及面试题
- 【论文笔记】MLFF-GAN:A Multilevel Feature Fusion WithGAN for Spatiotemporal Remote Sensing Images
- 《了凡四训》全文 + 译文
- 深度学习分类基础概念对ACC、PPV、TPR、TNR
- android摄像头api