Android中的Toast是一种简易的消息提示框,toast提示框不能被用户点击,toast会根据用户设置的显示时间后自动消失。
一.显示默认的Toast

实现代码:
1 |
Toast.makeText(getApplicationContext(), "显示默认的Toast",
Toast.LENGTH_LONG).show(); |
有两种方法来创建默认的Toast,下面我们来都看一下:
1.显示resource中的资源
1 |
Toast.makeText(Context
context, int resId, int duration).show(); |
参数: context是toast显示在哪个上下文,通常是当前Activity;resId指显示内容引用Resouce那条数据,就是从R类中去指定显示的消息内容;duration指定显示时间, Toast默认有LENGTH_SHORT和LENGTH_LONG两常量,分别表示显示时间的长短;
2.显示自定义的内容
1 |
Toast.makeText(Context
context, CharSequence text, int duration).show(); |
参数: context和duration与第一个方法相同,参数text可以自己写消息内容;
二.显示带图片的Toast

实现代码:
1 |
Toast
toast = Toast.makeText(getApplicationContext(), "显示带图片的Toast",
Toast.LENGTH_LONG); |
2 |
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0); |
3 |
LinearLayout
toastView = (LinearLayout) toast.getView(); |
4 |
ImageView
imageCodeProject = new ImageView(getApplicationContext()); |
5 |
imageCodeProject.setImageResource(R.drawable.wirelessqa); |
6 |
toastView.addView(imageCodeProject, 0); |
三.显示自定义的Toast

实现代码:
01 |
LayoutInflater
inflater = getLayoutInflater(); |
03 |
View
layout = inflater.inflate(R.layout.define, (ViewGroup) findViewById(R.id.define)); |
05 |
TextView
title = (TextView) layout.findViewById(R.id.define_title); |
06 |
title.setText("这个是自定义的哦"); |
07 |
ImageView
img = (ImageView) layout.findViewById(R.id.define_img); |
08 |
img.setImageResource(R.drawable.wirelessqa); |
09 |
TextView
text = (TextView) layout.findViewById(R.id.define_text); |
10 |
text.setText("www.wirelessqa.com"); |
11 |
Toast
toast = new Toast(getApplicationContext()); |
12 |
toast.setGravity(Gravity.LEFT
| Gravity.CENTER, 0, 0); |
13 |
toast.setDuration(Toast.LENGTH_LONG); |
15 |
toast.setView(layout); |
四.显示其它线程的Toast

实现代码:
01 |
displayThread.setOnClickListener(new OnClickListener()
{ |
05 |
public void onClick(View
v) { |
07 |
new Thread(new Runnable()
{ |
25 |
private void otherThreadToast()
{ |
27 |
handler.post(new Runnable()
{ |
33 |
Toast.makeText(getApplicationContext(), "这个是其它线程的Toast哟",
Toast.LENGTH_LONG).show(); |
五.显示自定义的位置

实现代码:
1 |
Toast
toast = Toast.makeText(getApplicationContext(), "自定义Toast显示位置(上)",
Toast.LENGTH_LONG); |
3 |
toast.setGravity(Gravity.TOP, 0, 0); |
两个方法可以设置显示位置:
方法一:setGravity(int gravity, int xOffset, int yOffset)三个参数分别表示(起点位置,水平向右位移,垂直向下位移)
方法二:setMargin(float horizontalMargin, float verticalMargin)
以横向和纵向的百分比设置显示位置,参数均为float类型(水平位移正右负左,竖直位移正上负下)
3 |
toast.setMargin(-0.5f,
0f); |
源码下载:http://download.csdn.net/detail/wirelessqa/5067721