Toast的使用具体解释

时间:2022-12-17 15:59:14

Android中提供一种简单的Toast消息提示框机制,能够在用户点击了某些button后,提示用户一些信息,提示的信息不能被用户点击,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,而且设置视图,即自己定义

    如:

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类型(水平位移正右负左,竖直位移正上负下)

注意事项:

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

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

原文地址:http://blog.isming.me/blog/2014/03/22/toast-use/ ,转载请注明出处。