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
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