Toast的使用详解

作者: 码农明明桑 | 来源:发表于2014-04-10 22:30 被阅读926次

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,并且设置视图,即自定义
    如:

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/ ,转载请注明出处。

相关文章

  • 每日一记:Toast的使用

    1. Toast的使用今日见到 码农明明桑的Toast的使用详解感觉颇有收获,总结几点,供日后使用。 Toast的...

  • Toast的使用详解

    Android中提供一种简单的Toast消息提示框机制,可以在用户点击了某些按钮后,提示用户一些信息,提示的信息不...

  • Android——Toast

    三、使用 1.Toast使用技巧 Toast使用技巧 (1)自定义 Toast 布局 (2)使用 Applicat...

  • Toast源码查看记录

    Toast源码查看 Toast使用姿势 Toast.makeText(context,"提示内容", Toast....

  • 自定义Toast

    toast_back toast_layout MToast 使用

  • 安卓全局toast

    使用全局toast,防止toast因为消息过多,弹个不停

  • Toast 源码学习

    我们使用Toast的时候,通常都是这样 首先我们从Toast的静态方法makeText开始 Toast的构造函数 ...

  • Vue.js 插件封装详解

    详情请点击下方大佬的链接 Vue.js 插件封装详解(示例:vue-toast)

  • Toast在子线程调用的问题

    Toast我们平时经常使用,但是你是否了解在子线程中要如何使用Toast呢? Toast的一般姿势 平时我们经常在...

  • Toast 从源码到自定义

    在实际开发中Toast使用频率非常高,但是,自定义Toast个人感觉使用不是很高,下面我们来看一Toast是如何实...

网友评论

  • peengchang:toast还是用 int resId这种取资源文件的字符串要好点,硬编码不是最好的选择。
    第二种自定义Toast的学习了。

本文标题:Toast的使用详解

本文链接:https://www.haomeiwen.com/subject/vkjltttx.html