码迷,mamicode.com
首页 > 移动开发 > 详细

Android Toast小解

时间:2014-05-25 18:12:22      阅读:363      评论:0      收藏:0      [点我收藏+]

标签:android

简介:Toast英文含义是吐司,在Android中,它就像烘烤机里做好的吐司弹出来,并持续一小段时间后慢慢消失。

Toast也是一个容器,可以包含各种View,并承载着它们显示。

Android中提供一种简单的Toast消息提示框机制,可以在用户点击了某些按钮后,提示用户一些信息,提示的信息不能被用户点击,Toast的提示信息根据用户设置的显示时间后自动消失。Toast的提示信息可以在调试程序的时候方便的显示某些想显示的东西,或者给用户提供友好的界面显示效果。

有两种方式去创建并且显示Toast:

  1. Toast.makeText(Context context, int resId, int duration) 
    Toast.makeText(Context context, CharSequence text, int duration) 
    Context为上下文,通常为当前activity;resId是string字符串的id,CharSequence为你要显示的字符串,duration为显示的时间,可以选择Toast.LENGTH_SHORT或Toast.LENGTH_LONG,也可自定义时间。 使用方法: 
    Toast.makeText(this, "this is string", Toast.LENGTH_SHORT).show();

  2. 自己创建Toast,并且设置视图,即自定义 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Toast toast = new Toast(this);       
// 定义一个ImageView      
ImageView imageView = new ImageView(this);        
imageView.setImageResource(R.drawable.ic_launcher);       
// 定义一个Layout,这里是Layout       
LinearLayout Layout = new LinearLayout(this);     
Layout.setOrientation(LinearLayout.HORIZONTAL);       
// 将ImageView放到Layout中        
Layout.addView(imageView);        
// 设置View     
toast.setView(Layout);        
//设置显示时间      
toast.setDuration(20);        
toast.show();     

通过上面的代码就可以自己定义一个Toast了,我们还在其中显示了图片。

如何设置Toast显示的位置

方法一:

setGravity(int gravity, int xOffset, int yOffset) 三个参数分别表示(起点位置,水平向右位移,垂直向下位移)

方法二:

setMargin(float horizontalMargin, float verticalMargin) 以横向和纵向的百分比设置显示位置,参数均为float类型(水平位移正右负左,竖直位移正上负下)

//默认的Gravity就是Gravity.CENTER_HORIZONTAL|Gravity.BOTTOM


Toast toast = Toast.makeText(this, "set your gesture firstly", Toast.LENGTH_LONG); //toast提示
toast.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.BOTTOM, 0, 0); //先设置重心
toast.setMargin(0f, 0.1f) ; //设置相对重心位置
toast.show();


注意事项:

Toast中有一个public方法setText(),可以给toast设置resid或者string,该方式尽可以在我们的第一种方法中使用,第二种自定义toast的方式是不可以使用的,使用的话会抛出异常。

原因是使用第一种方式创建,Toast会自己创建一个view,即textview,而我们使用这个setText实际是向这个TextView设置内容,而自定义的View不会有这个控件,因此会报错。

//加设置位置
Toast toast = Toast.makeText(this, "set your gesture firstly", Toast.LENGTH_LONG); //toast提示//toast.setGravity(Gravity.BOTTOM, 20, 60); toast.show();


ref:http://blog.csdn.net/pipisorry/article/details/26837809

http://blog.isming.me/blog/2014/03/22/toast-use/

http://android.codemach.com/zai-android-zhong-shi-yong-toast-jin-xing-ti-shi.html



Android Toast小解,布布扣,bubuko.com

Android Toast小解

标签:android

原文地址:http://blog.csdn.net/pipisorry/article/details/26837809

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!