原文地址:http://daikainan.iteye.com/blog/1405575

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

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

1.  默认的显示方式

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

2. 自定义显示位置

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

3.带图片的

 1 Toast toast=Toast.makeText(getApplicationContext(), "显示带图片的toast", 3000);
2 toast.setGravity(Gravity.CENTER, 0, 0);
3 //创建图片视图对象
4 ImageView imageView= new ImageView(getApplicationContext());
5 //设置图片
6 imageView.setImageResource(R.drawable.ic_launcher);
7 //获得toast的布局
8 LinearLayout toastView = (LinearLayout) toast.getView();
9 //设置此布局为横向的
10 toastView.setOrientation(LinearLayout.HORIZONTAL);
11 //将ImageView在加入到此布局中的第一个位置
12 toastView.addView(imageView, 0);
13 toast.show();

4.完全自定义显示方式

 1 //Inflater意思是充气
2 //LayoutInflater这个类用来实例化XML文件到其相应的视图对象的布局
3 LayoutInflater inflater = getLayoutInflater();
4 //通过制定XML文件及布局ID来填充一个视图对象
5 View layout = inflater.inflate(R.layout.custom2,(ViewGroup)findViewById(R.id.llToast));
6
7 ImageView image = (ImageView) layout.findViewById(R.id.tvImageToast);
8 //设置布局中图片视图中图片
9 image.setImageResource(R.drawable.ic_launcher);
10
11 TextView title = (TextView) layout.findViewById(R.id.tvTitleToast);
12 //设置标题
13 title.setText("标题栏");
14
15 TextView text = (TextView) layout.findViewById(R.id.tvTextToast);
16 //设置内容
17 text.setText("完全自定义Toast");
18
19 Toast toast= new Toast(getApplicationContext());
20 toast.setGravity(Gravity.CENTER , 0, 0);
21 toast.setDuration(Toast.LENGTH_LONG);
22 toast.setView(layout);
23 toast.show();

5.其他线程通过 Handler 的调用

Java代码:

 1     //调用方法1
2 //Thread th=new Thread(this);
3 //th.start();
4 //调用方法2
5 handler.post(new Runnable() {
6 @Override
7 public void run() {
8 showToast();
9 }
10 });

Java代码:

1 public void showToast(){
2 Toast toast=Toast.makeText(getApplicationContext(), "Toast在其他线程中调用显示", Toast.LENGTH_SHORT);
3 toast.show();
4 }

Java代码:

 1 Handler handler=new Handler(){
2 @Override
3 public void handleMessage(Message msg) {
4 int what=msg.what;
5 switch (what) {
6 case 1:
7 showToast();
8 break;
9 default:
10 break;
11 }
12
13 super.handleMessage(msg);
14 }
15 };

Java代码:

1 @Override
2 public void run() {
3 handler.sendEmptyMessage(1);
4 }

补充一下:

使 用Toast遇到错误提示时:The method makeText(Context, CharSequence, int) in the type Toast is not applicable for the arguments (new View.OnClickListener(){}, String, int)

错误原由:在makeText的第一个参数Context指的是上下文对象,而此处上下文并不是该Activity。。。你必须使用 自己的Activity.this如我的是Toast.makeText(MainActivity.this, "已经到了第一周", Toast.LENGTH_SHORT).show() ;

或者:getApplicationContext()

Toast 使用方法大全的更多相关文章

  1. Android应用开发学习—Toast使用方法大全

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

  2. 【转】【Java/Android】Toast使用方法大全

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

  3. [OC][转]UITableView属性及方法大全

    Tip: UITableView属性及方法大全  (摘录地址) p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 14.0px; font: 1 ...

  4. JS去掉首尾空格 简单方法大全(原生正则jquery)

    JS去掉首尾空格 简单方法大全 var osfipin= ' http://www.cnblogs.com/osfipin/ '; //去除首尾空格 osfipin.replace(/(^\s*)|( ...

  5. js跳转页面方法大全

    js跳转页面方法大全<span id="tiao">3</span><a href="javascript:countDown"& ...

  6. Java获取各种常用时间方法大全

    Java获取各种常用时间方法大全 package cc.javaweb.test; Java中文网,Java获取各种时间大全 import java.text.DateFormat; import j ...

  7. php文件上传大小限制的修改方法大全

    php文件上传大小限制的修改方法大全 基本就是修改maxsize选项,当然为了提高上传文件的成功率,还需要设置超时时间等. 文章如下: [php文件上传]php文件上传大小限制修改,phpmyadmi ...

  8. [Java]读取文件方法大全(转)

    [Java]读取文件方法大全   1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 public class ReadFromFile {     /**     ...

  9. 网站开发进阶(二十六)js刷新页面方法大全

    js刷新页面方法大全 在项目开发过程中,需要实现刷新页面.经过学习,发现下面这条语句就可以轻松实现. location.reload(); // 刷新页面 有关刷新页面的其它方法,具体学习内容如下,有 ...

随机推荐

  1. Agri-Net —poj1258

    Agri-Net Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 44670   Accepted: 18268 Descri ...

  2. 王爽《汇编》检测9.1(1) | 若要使程序中的jmp指令执行后,CS:IP指向程序的第一条指令,在data段中应该定义哪些数据?

    ;监测点9.1(1) assume cs:code data segment db dup() data ends code segment start: mov ax,data :这一段一定要补上 ...

  3. spring声明式的事务管理

    spring支持声明式事务管理和编程式事务管理两种方式. 编程式事务使用TransactionTemplate来定义,可在代码级别对事务进行定义. 声明式事务基于aop来实现,缺点是其最细粒度的事务声 ...

  4. ruby+selenium-webdriver一步一步完成自动化测试-----准备篇

    这一系列文章目的不是讲ruby,也不是讲selenium-webdriver,而是通过一个登录soso首页的小例子讲怎样一步一步写好自动化测试.目标是:面向对象编程,实现逻辑与数据分离. 如果你觉得已 ...

  5. centos7下zookeeper安装配置

    1.下载zookeeper文件 cd /opt/ wget http://mirrors.hust.edu.cn/apache/zookeeper/stable/zookeeper-3.4.9.tar ...

  6. 用 Flask 来写个轻博客 (28) — 使用 Flask-Assets 压缩 CSS/JS 提升网页加载速度

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 Flask-Assets 将 Flask-Assets 应用 ...

  7. day64 views文件

    from django.shortcuts import HttpResponse, render, redirect from app01 import models # Create your v ...

  8. Flask-Scrip

    介绍及安装 Flask-Script是一个让你的命令行支持自定义命令的工具,它为Flask程序添加一个命令行解释器.可以让我们的程序从命令行直接执行相应的程序. 安装 pip install Flas ...

  9. SetViewportOrgEx和SetWindowOrgEx

    在MM_TEXT映射模式下使用这两个函数. 对于 BOOL SetViewportOrgEx( HDC hdc, // 设备内容HANDLE int X, // 新Viewport的x坐标 int Y ...

  10. Purfer序列

    我们经常干的一件事是把数变为关于图的问题来解决,那么久了未免不会有这个疑问:能不能把图变成数来解决问题? 所以有了这个purfer数列. 介绍一下这个数列有什么用(或者说有什么性质): 能够将一棵无根 ...