文档章节

消息模式Toast.makeText的几种常见用法

ForingY
 ForingY
发布于 2016/08/01 14:03
字数 652
阅读 5
收藏 0
点赞 0
评论 0

Toast 是一个 View 视图,快速的为用户显示少量的信息。 Toast 在应用程序上浮动显示信息给用户,它永远不会获得焦点,不影响用户的输入等操作,主要用于 一些帮助 / 提示。

Toast 最常见的创建方式是使用静态方法 Toast.makeText

  1. 默认的显示方式

输入图片说明 Java代码

// 第一个参数:当前的上下文环境。可用getApplicationContext()或this 
// 第二个参数:要显示的字符串。也可是R.string中字符串ID 
// 第三个参数:显示的时间长短。Toast默认的有两个LENGTH_LONG(长)和LENGTH_SHORT(短),也可以使用毫秒如2000ms 
Toast toast=Toast.makeText(getApplicationContext(), "默认的Toast", Toast.LENGTH_SHORT); 
//显示toast信息 
toast.show();
  1. 自定义显示位置

输入图片说明

Toast toast=Toast.makeText(getApplicationContext(), "自定义显示位置的Toast", Toast.LENGTH_SHORT); 
//第一个参数:设置toast在屏幕中显示的位置。我现在的设置是居中靠顶 
//第二个参数:相对于第一个参数设置toast位置的横向X轴的偏移量,正数向右偏移,负数向左偏移 
//第三个参数:同的第二个参数道理一样 
//如果你设置的偏移量超过了屏幕的范围,toast将在屏幕内靠近超出的那个边界显示 
toast.setGravity(Gravity.TOP|Gravity.CENTER, -50, 100); 
//屏幕居中显示,X轴和Y轴偏移量都是0 
//toast.setGravity(Gravity.CENTER, 0, 0); 
toast.show();
  1. 带图片的

输入图片说明

Toast toast=Toast.makeText(getApplicationContext(), "显示带图片的toast", 3000); 
toast.setGravity(Gravity.CENTER, 0, 0); 
//创建图片视图对象 
ImageView imageView= new ImageView(getApplicationContext()); 
//设置图片 
imageView.setImageResource(R.drawable.ic_launcher); 
//获得toast的布局 
LinearLayout toastView = (LinearLayout) toast.getView(); 
//设置此布局为横向的 
toastView.setOrientation(LinearLayout.HORIZONTAL); 
//将ImageView在加入到此布局中的第一个位置 
toastView.addView(imageView, 0); 
toast.show();
  1. 完全自定义显示方式

输入图片说明

//Inflater意思是充气 
//LayoutInflater这个类用来实例化XML文件到其相应的视图对象的布局 
LayoutInflater inflater = getLayoutInflater(); 
//通过制定XML文件及布局ID来填充一个视图对象 
View layout = inflater.inflate(R.layout.custom2,(ViewGroup)findViewById(R.id.llToast)); 

ImageView image = (ImageView) layout.findViewById(R.id.tvImageToast); 
//设置布局中图片视图中图片 
image.setImageResource(R.drawable.ic_launcher); 

TextView title = (TextView) layout.findViewById(R.id.tvTitleToast); 
//设置标题 
title.setText("标题栏"); 

TextView text = (TextView) layout.findViewById(R.id.tvTextToast); 
//设置内容 
text.setText("完全自定义Toast"); 

Toast toast= new Toast(getApplicationContext()); 
toast.setGravity(Gravity.CENTER , 0, 0); 
toast.setDuration(Toast.LENGTH_LONG); 
toast.setView(layout); 
toast.show();
  1. 其他线程通过 Handler 的调用

输入图片说明

//调用方法1 
//Thread th=new Thread(this); 
//th.start(); 
//调用方法2 
handler.post(new Runnable() { 
@Override 
public void run() { 
showToast(); 
} 
});
public void showToast(){ 
    Toast toast=Toast.makeText(getApplicationContext(), "Toast在其他线程中调用显示", Toast.LENGTH_SHORT); 
    toast.s4 how(); 
} 
Handler handler=new Handler(){ 
@Override 
public void handleMessage(Message msg) { 
int what=msg.what; 
switch (what) { 
case 1: 
showToast(); 
break; 
default: 
break; 
} 

super.handleMessage(msg); 
} 
};
@Override 
 public void run() { 
 handler.sendEmptyMessage(1); 
}

© 著作权归作者所有

共有 人打赏支持
ForingY
粉丝 23
博文 252
码字总数 156129
作品 0
杭州
程序员
微信公众平台开发之一,公众平台介绍

腾讯推出了微信公众账号,以和我们平时个人用的微信号区别开来, 公众账号们通过微信公众平台来进行操作,比如群发消息、查看粉丝的回复消息等等。 那么一个公众账号到底是怎么运作的呢?公众...

squanchao ⋅ 2016/06/29 ⋅ 0

Python中time模块和datetime模块的常用操作以及几种常用时间格式间的转换

最常见以及常用的几种时间格式 1、时间戳(timestamp),时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。 2、时间元组(struct_time),共有九个元素组。 3、格式化时间(format tim...

OMCloud ⋅ 2017/07/14 ⋅ 0

MessageBox的常见用法

一 函数原型及参数 function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer; hWnd:对话框父窗口句柄,对话框显示在Delphi窗体内,可使用窗体的Handle属性,否则可用...

景光 ⋅ 2013/01/29 ⋅ 0

Express 提交数据的几种方式

我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP协议之上的应用层规范。该规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。类似于下面这样: 协议规定 POST 提交的数据必须放...

tcfellow ⋅ 2017/11/28 ⋅ 0

我是电音之王!FLStudio学习路线图

初步认识水果音乐软件 初步认识水果音乐 终结篇 水果音乐的安装 基本面板的认识与控制 编辑菜单基本操作的认识 通道菜单的认识及基本操作 view浏览器的基本操作 控制面板的基本操作 option菜...

棋帅小七 ⋅ 2017/12/01 ⋅ 0

C#窗口实现单例模式

主要是应对这种需求:软件只允许启动一次。 将这个问题转化一下,可以这样描述:对于一个软件,在启动一个进程之后,不允许启动其它进程,如果第二次打开程序,就把已经启动的那个进程的窗口...

一曲忠臣的战歌 ⋅ 2015/07/16 ⋅ 0

html 的 meta 总结,html 标签中 meta 属性使用介绍

引子 之前的我的博客中对于meta有个介绍,例如:http://www.haorooms.com/post/liulanqthinkie 浏览器安全性想到的这篇文章,中间介绍了meta下面IE的一些属性,可以实现页面之间的过渡转换。...

Jack088 ⋅ 2015/11/12 ⋅ 0

html的meta总结,html标签中meta属性使用介绍

引子 之前的我的博客中对于meta有个介绍,例如:http://www.haorooms.com/post/liulanqthink_ie 浏览器安全性想到的这篇文章,中间介绍了meta下面IE的一些属性,可以实现页面之间的过渡转换。...

Daniel_s ⋅ 2016/01/27 ⋅ 0

iOS 各种控件默认高度

1.状态栏 状态栏一般高度为20像素,在打手机或者显示消息时会放大到40像素高,注意,两倍高度的状态栏在好像只能在纵向的模式下使用。如下图 用户可以隐藏状态栏,也可以将状态栏设置为灰色,...

北方人在上海 ⋅ 2016/07/28 ⋅ 0

iOS 各种控件默认高度

iOS 各种控件默认高度 (2013-03-24 11:37:09) 分类: ios开发 1.状态栏 状态栏一般高度为20像素,在打手机或者显示消息时会放大到40像素高,注意,两倍高度的状态栏在好像只能在纵向的模式下...

andyhe91 ⋅ 2014/01/03 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring Boot整合模板引擎thymeleaf

项目结构 引入依赖pom.xml <!-- 引入 thymeleaf 模板依赖 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId......

yysue ⋅ 14分钟前 ⋅ 0

ConstraintLayout使用解析

AndroidStudio3.0创建Project默认的布局就是ConstraintLayout。 AndroidStudio3.0前的可以自己修改,使用ConstraintLayout。 为了要使用ConstraintLayout,我们需要在app/build.gradle文件中...

_OUTMAN_ ⋅ 26分钟前 ⋅ 0

OSChina 周三乱弹 —— 这样的女人私生活太混乱了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ 胖达panda :你经历过体验到人生的大起大落吗?我一朋友在10秒内体验了,哈哈。@小小编辑 请点一首《almost lover》送给他。 《almost love...

小小编辑 ⋅ 59分钟前 ⋅ 9

自己动手写一个单链表

文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源。 一、概述 单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对...

公众号_好好学java ⋅ 今天 ⋅ 0

Centos7重置Mysql 8.0.1 root 密码

问题产生背景: 安装完 最新版的 mysql8.0.1后忘记了密码,向重置root密码;找了网上好多资料都不尽相同,根据自己的问题总结如下: 第一步:修改配置文件免密码登录mysql vim /etc/my.cnf 1...

豆花饭烧土豆 ⋅ 今天 ⋅ 0

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 今天 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部