Android Toast 设置到屏幕中间以及其他自定义Toast的实现方法

转载 2015年07月08日 10:16:33

Android Toast用于在手机屏幕上向用户显示一条信息,一段时间后信息会自动消失。信息可以是简单的文本,也可以是复杂的图片及其他内容(显示一个view)。

 

1.简单用法




Toast.makeText(midlet.getApplicationContext(), "用户名不能为空", Toast.LENGTH_LONG).show();


2.自定义显示位置效果



代码

1
2
3
toast = Toast.makeText(getApplicationContext(), "自定义位置Toast", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();


3.带图片效果



 

代码

1
2
3
4
5
6
7
toast = Toast.makeText(getApplicationContext(), "带图片的Toast", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
LinearLayout toastView = (LinearLayout) toast.getView();
ImageView imageCodeProject = new ImageView(getApplicationContext());
imageCodeProject.setImageResource(R.drawable.icon);
toastView.addView(imageCodeProject, 0);
toast.show();


 

三、常量

 

       int  LENGTH_LONG

 持续显示视图或文本提示较长时间。该时间长度可定制。


 

int  LENGTH_SHORT

持续显示视图或文本提示较短时间。该时间长度可定制。该值为默认值。


 

  四、构造函数

 

       public Toast (Context context)

       构造一个空的 Toast 对象。在调用 show() 之前,必须先调用 setView(View)

(译者注:只有使用setView(View)的时候,才使用new Toast(Content content)来得到Toast对象,否则必须用makeText()方法来创建toast对象,并且这种方式获得Toast对象不能使用setText()方法。

       参数

              context    使用的上下文。通常是你的 Application  Activity 对象。 

 

  五、公共方法

 

public int cancel()

     如果视图已经显示则将其关闭,还没有显示则不再显示。一般不需要调用该方法。正常情况下,视图会在超过存续期间后消失。

 

public int getDuration()

返回存续期间


public int getGravity()

     取得提示信息在屏幕上显示的位置。


 

public float getHorizontalMargin()

返回横向栏外空白。

 

public float getVerticalMargin()

返回纵向栏外空白。

 

public View  getView()

返回 View 对象。


 

public int getXOffset()

返回相对于参照位置的横向偏移像素量。

        Toast msg = Toast.makeText(Main.this, "Message", Toast.LENGTH_LONG);        msg.setGravity(Gravity.CENTER, msg.getXOffset() / 2, msg.getYOffset() / 2);        msg.show();

 

public int getYOffset()

返回相对于参照位置的纵向偏移像素量。

 

public static Toast.makeText(Context context, int resId, int duration)

生成一个从资源中取得的包含文本视图的标准 Toast 对象。

    参数

context

使用的上下文。通常是你的ApplicationActivity对象。

resId

要使用的字符串资源ID,可以是已格式化文本。

duration

该信息的存续期间。值为LENGTH_SHORTLENGTH_LON

     异常

      当资源未找到时抛异常Resources.NotFoundException

 

public static Toast.makeText(Context context, CharSequence text, int duration)

生成一个包含文本视图的标准 Toast 对象。

    参数

context

使用的上下文。通常是你的ApplicationActivity对象。

resId

要显示的文本,可以是已格式化文本。

duration

该信息的存续期间。值为LENGTH_SHORTLENGTH_LONG

   

public void setDuration(int duration)

设置存续期间。//注意:设置过大不起作用,duration的实际可用最大值为3500,即最多只能显示3.5s


 

public void setGravity(int gravity, int xOffset, int yOffset)

设置提示信息在屏幕上的显示位置。

(译者注:自定义Toast的显示位置,例如toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0)可以把Toast定位在左上角。Toast提示的位置xOffset:大于0向右移,小于0向左移


public void setMargin(float horizontalMargin, float verticalMargin)

设置视图的栏外空白。

    参数

        horizontalMargin         容器的边缘与提示信息的横向空白(与容器宽度的比)。

           verticalMargin             容器的边缘与提示信息的纵向空白(与容器高度的比)。

 

public void setText(int resId)

更新之前通过 makeText() 方法生成的 Toast 对象的文本内容。

    参数

        resId       Toast 指定的新的字符串资源ID

 

public void setText(CharSequence s)

更新之前通过 makeText() 方法生成的 Toast 对象的文本内容。

    参数

        s    Toast 指定的新的文本。

 

public void setView(View view)

设置要显示的 View 

(译者注:注意这个方法可以显示自定义的toast视图,可以包含图像,文字等等。是比较常用的方法。


 

public void show()

按照指定的存续期间显示提示信息。


转载:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2013/0302/945.html

Android自定义Toast的时长、位置、及显示的View

Android自定义Toast首先是自定义时长:说是这么说,但是android自带的两个时长 LENGTH_SHORT (2秒) 和LENGTH_LONG (3.5秒)基本已经够用了,一般也没有特地去...
  • chang_1134
  • chang_1134
  • 2016年05月07日 23:59
  • 3540

重新梳理一下自定义Toast的用法,设置想要的位置,自定义宽和高,自定义显示时间等

之前在自定义Toast的过程中走了不少弯路,不是去折腾其子布局,就是通过别人的方法设置了却不知道是什么原理。具体可参照一下之前记录的文档。 今天看了下源码,重新梳理了一下。 目前我需要自定义Toa...
  • anhenzhufeng
  • anhenzhufeng
  • 2016年06月08日 16:12
  • 2943

Android 弹无虚发之第五弹:来点儿不一样的Toast(自定义Toast,设置Toast显示位置,自定义Toast的复杂布局)

说起Toast,大家一定很熟悉了,常常在网络连接不可用或者完成某个操作后,就会看到在手机屏幕的下方,显示出来一段提示文字,过一会儿又会自动消失。它就是Toast,跟Notification一样,也是一...
  • pringlee2011
  • pringlee2011
  • 2014年02月28日 20:33
  • 4391

自定义toast时,有些时候不能设置想要的宽和高(代码动态设置或使用文末方式)

应用场景:自定义一个toast,主要设置toast.setview(view)中的view从布局xml来。 需要动态改变toast的宽高。 public static void showToast(A...
  • anhenzhufeng
  • anhenzhufeng
  • 2015年01月14日 17:35
  • 1963

Android Toast 设置到屏幕中间,自定义Toast的实现方法,及其说明

Android Toast用于在手机屏幕上向用户显示一条信息,一段时间后信息会自动消失。信息可以是简单的文本,也可以是复杂的图片及其他内容(显示一个view)。   1.简单用法 ...
  • qq_26662349
  • qq_26662349
  • 2015年09月21日 17:26
  • 1123

Android Toast 设置到屏幕中间,自定义Toast的实现方法,及其说明

原博客链接:
  • mlj1668956679
  • mlj1668956679
  • 2014年04月05日 14:23
  • 644

Android Toast 设置到屏幕中间,自定义Toast的实现方法,及其说明

Android Toast用于在手机屏幕上向用户显示一条信息,一段时间后信息会自动消失。信息可以是简单的文本,也可以是复杂的图片及其他内容(显示一个view)。   1.简单用法 ...
  • GodIand
  • GodIand
  • 2016年04月22日 19:31
  • 218

超简单实现Android自定义Toast(附源码)

Bamboy的自定义Toast,(以下称作“BToast”) 特点在于使用简单, 并且自带两种样式: 1)普通的文字样式; 2)带图标样式。 其中图标有√和×两种图标。BToast还有另外一...
  • qq_24515359
  • qq_24515359
  • 2016年05月23日 18:12
  • 1415

Android Toast 设置到屏幕中间,自定义Toast的实现方法,及其说明

Android Toast用于在手机屏幕上向用户显示一条信息,一段时间后信息会自动消失。信息可以是简单的文本,也可以是复杂的图片及其他内容(显示一个view)。   1.简单用法 ...
  • heng615975867
  • heng615975867
  • 2013年09月18日 10:37
  • 3077

Android Toast 设置到屏幕中间,自定义Toast的实现方法,及其说明

Android Toast用于在手机屏幕上向用户显示一条信息,一段时间后信息会自动消失。信息可以是简单的文本,也可以是复杂的图片及其他内容(显示一个view)。   1.简单用法 ...
  • wwwxxdddx
  • wwwxxdddx
  • 2013年12月11日 20:13
  • 946
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android Toast 设置到屏幕中间以及其他自定义Toast的实现方法
举报原因:
原因补充:

(最多只允许输入30个字)