Toast使用大全

来源:互联网 发布:淘宝直播试衣模特 编辑:程序博客网 时间:2024/05/17 22:33

这里写图片描述

介绍

官方文档上是这么介绍的,Toast是一种简易的消息提示框,该提示框不能被用户点击,且永远不会获得焦点。同时,Toast显示的时间有限,过一定的时间就会自动消失,具体时间限制由用户设定。

常用API

显示时间常量

LENGTH_LONG:指定显示时间为长时间(默认5000毫米)

LENGTH_SHORT:指定显示时间为短时间(默认1000毫米)

API

  • cancel():
    如果Toast在显示,则取消显示;如果Toast未显示,此Toast不再显示,即使调用show()方法。

  • makeText(Context context, int resId, int duration):静态方法创建Toast对象

  • makeText(Context context, CharSequence text, int duration):静态方法创建Toast对象

  • setDuration(int duration):设置Toast显示时间

  • setGravity(int gravity, int xOffset, int yOffset):设置Toast显示的位置

  • setMargin(float horizontalMargin, float verticalMargin):设置Toast中View的间距

  • setText(int resId):设置显示的内容,其中resId为Resouce那条数据的索引

  • setText(CharSequence s):设置显示的内容,其中s即为显示的内容

  • show():显示Toast

创建Toast

构造方法

Toat toast = new Toast(context);View toastView = LayoutInflater.from(this).inflate(R.layout.layout_image, null, false);toast.setView(toastView);toast.show();

注:使用构造方法创建Toast对象时,默认并未创建toast显示信息的view。若不调用setView()设置显示信息的View,会报异常 - java.lang.RuntimeException: setView must have been called。若采用构造方法创建Toast对象,在调用show()方法前,应先调用setView()设置显示的View.

makeText(Context context, int resId, int duration)

context:是toast显示在哪个上下文,通常是当前Activity;

resId:显示内容引用Resouce那条数据,就是从R类中去指定显示的消息内容;

duration:指定显示时间,Toast默认有LENGTH_SHORT和LENGTH_LONG两常量,分别表示短时间显示和长时间显示。

makeText(Context context, CharSequence text, int duration)

text:显示的内容

Toast示例

默认Toast

这里写图片描述
Toast toast = Toast.makeText(mContext, “我是一个默认的Toast”, Toast.LENGTH_LONG);
toast.show();

自定义位置的Toast

这里写图片描述
Toast toast = Toast.makeText(mContext, “我是一个居中的Toast”, Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();

带图片的Toast

这里写图片描述
Toast toast = Toast.makeText(mContext, “我是一个带图片的Toast”, Toast.LENGTH_LONG);
LinearLayout toastView = (LinearLayout) toast.getView();
ImageView imageView = new ImageView(this);
imageView.setImageResource(R.mipmap.ic_img);
toastView.addView(imageView, 0);
toast.show();

完全自定义的Toast

这里写图片描述
Toast toast = new Toast(this);
View toastView = LayoutInflater.from(this)
.inflate(R.layout.layout_image, null, false);
toast.setView(toastView);
toast.show();

其他线程Toast

这里写图片描述
private void displayOtherThread() {
new Thread(new Runnable() {
@Override
public void run() {
showToast();
}
}).start();
}

private void showToast() {    mHandler.post(new Runnable() {        @Override        public void run() {            Toast.makeText(mContext, "我是一个其他线程的Toast", Toast.LENGTH_LONG).show();        }    });}

参考资料

1、 Android Toast简易消息提示框的使用

2、Android中Toast的用法简介

3、android Toast大全(五种情形)建立属于你自己的Toast

0 0
原创粉丝点击