Toast 使用方法大全
原文地址: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 使用方法大全的更多相关文章
- Android应用开发学习—Toast使用方法大全
		Toast 是一个 View 视图,快速的为用户显示少量的信息. Toast 在应用程序上浮动显示信息给用户,它永远不会获得焦点,不影响用户的输入等操作,主要用于 一些帮助 / 提示. Toast 最 ... 
- 【转】【Java/Android】Toast使用方法大全
		Toast 是一个 View 视图,快速的为用户显示少量的信息. Toast 在应用程序上浮动显示信息给用户,它永远不会获得焦点,不影响用户的输入等操作,主要用于 一些帮助 / 提示.Toast 最常 ... 
- [OC][转]UITableView属性及方法大全
		Tip: UITableView属性及方法大全 (摘录地址) p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 14.0px; font: 1 ... 
- JS去掉首尾空格 简单方法大全(原生正则jquery)
		JS去掉首尾空格 简单方法大全 var osfipin= ' http://www.cnblogs.com/osfipin/ '; //去除首尾空格 osfipin.replace(/(^\s*)|( ... 
- js跳转页面方法大全
		js跳转页面方法大全<span id="tiao">3</span><a href="javascript:countDown"& ... 
- Java获取各种常用时间方法大全
		Java获取各种常用时间方法大全 package cc.javaweb.test; Java中文网,Java获取各种时间大全 import java.text.DateFormat; import j ... 
- php文件上传大小限制的修改方法大全
		php文件上传大小限制的修改方法大全 基本就是修改maxsize选项,当然为了提高上传文件的成功率,还需要设置超时时间等. 文章如下: [php文件上传]php文件上传大小限制修改,phpmyadmi ... 
- [Java]读取文件方法大全(转)
		[Java]读取文件方法大全 1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 public class ReadFromFile { /** ... 
- 网站开发进阶(二十六)js刷新页面方法大全
		js刷新页面方法大全 在项目开发过程中,需要实现刷新页面.经过学习,发现下面这条语句就可以轻松实现. location.reload(); // 刷新页面 有关刷新页面的其它方法,具体学习内容如下,有 ... 
随机推荐
- Android实战技巧:Dialog (转)
			转:http://blog.csdn.net/hitlion2008/article/details/7567549#t0 Dialog是任何系统都必须有的一个控件,作为辅助窗口,用于显示一些消息,或 ... 
- qbxt Day2 on 19-7-25
			qbxt Day2 on 19-7-25 --TGZCBY 上午 1. 矩阵乘法在图论上的应用 有的时候图论的转移方程可以用dp的方式转移 特别是两个数的乘积求和的时候 比如邻接矩阵中f[i][j]表 ... 
- DTED文件结构
			注:DTED层级为1时,每列总计2414字节,包含1201个高度信息:DTED层级为2时,每列总计7214字节,包含3601个高度信息:DTED层级为3时,每列包含9001个高度信息. 每列数据前八个 ... 
- sql查询某个时间内的数据
			hour) 七天之前的数据 SELECT * FROM commodity_order where create_time <= (now()-INTERVAL 7 DAY) order by ... 
- 使用UI Automation实现自动化测试--5-7
			使用UI Automation实现自动化测试--5 (Winfrom和WPF中弹出和关闭对话框的不同处理方式) 在使用UI Automation对Winform和WPF的程序测试中发现有一些不同的地方 ... 
- c#拆分字符串英文和数字(包括国外所以文字)
			先创建一个类: /// <summary> /// 字符串分析 /// </summary> interface IStringAna { /// <summary> ... 
- iis 跨域设置多域名
			首先下载 https://www.iis.net/downloads/microsoft/url-rewrite 在最下方 然后在Web.config 文件里面 <configuration&g ... 
- MySQL 同一字段匹配多个值
			delete from api_log WHERE curl LIKE '%.css' or curl LIKE '%.js' or curl LIKE '%.JPG'; 删除字段curl以 js,c ... 
- k8s 组件介绍-API Server
			API Server简介 k8s API Server提供了k8s各类资源对象(pod,RC,Service等)的增删改查及watch等HTTP Rest接口,是整个系统的数据总线和数据中心. kub ... 
- C#设计模式V2(1)——单例模式
			出自:https://www.cnblogs.com/zhili/p/SingletonPatterm.html 一.引言 最近在设计模式的一些内容,主要的参考书籍是<Head First 设计 ... 
