博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android里面的Toast
阅读量:6265 次
发布时间:2019-06-22

本文共 2173 字,大约阅读时间需要 7 分钟。

  Toast通知是在窗口表面弹出的一个简短的小消息。它只填充消息所需要的空间,并且用户当前的Activity依然保持可见性和交互性。这种通知可自动的淡入淡出,且不接受用户的交互事件。Toast通知能够被Activity或Service创建并显示。如果你创建了一个源自Service的Toast通知,它会显示在当前的Activity最上层。

下面介绍一个Toast里面的常用方法:

1.makeText()方法 

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

  可以使用makeText()方法获取一个Toast实例,第一个makeText方法有3个参数:1.应用程序的上下文Context、2.要显示的文本消息;3.Toast通知持续显示的时间,用show()方法显示Toast通知。显示文本也可以使用资源文件里面的字符串。

Context context = getApplicationContext();CharSequence text = "Hello toast!";int duration = Toast.LENGTH_SHORT;Toast toast = Toast.makeText(context, text, duration);toast.show();

  当然可以直接使用组合方法且避免创建Toast对象:

Toast.makeText(context, text, duration).show();

2.setGravity()

  这个方法很简单,设置Toast的显示位置:  

toast.setGravity(Gravity.CENTER, 0, 0);//设置Toast显示位置居中

3.setView()

  通过查看Toast源代码,我们发现该类里面包含有一个View变量mNextView,所以可以使用setView()来实现我们自定义Toast的需求。这个方法可以让我们使用自定义的Toast,如下例子所示:

//自定义toast_layout.xml布局文件
//在Activity里面LayoutInflater inflater = getLayoutInflater();View layout = inflater.inflate(R.layout.custom_toast,(ViewGroup) findViewById(R.id.toast_layout_root));TextView text = (TextView) layout.findViewById(R.id.text);text.setText("This is a custom toast");Toast toast = new Toast(getApplicationContext());toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);toast.setDuration(Toast.LENGTH_LONG);toast.setView(layout);toast.show();

  Note:除非你要用setView(View)方法定义布局(layout),否则不要使用公共的Toast类构造器。如果不使用自定义的布局(layout),必须使用makeText(Context, int, int)方法来创建Toast

  实例演示的话,可以看这个,里面写了5种不同的Toast,还提供了下载:

  

还有一点需要注意:

   在使用Toast作为提示信息时,Toast会显示在屏幕下方,一般用来提示用户的误操作。当用户在某些情况下,用户连续误操作多次时,会导致出现很多个Toast,依次显示,会在页面上停留很长时间,这个会严重影响软件的用户亲和性。我们可以通过一下方法来实现在一个Toast没有结束的时候再显示Toast不累加时间,而是打断当前的Toast,显示新的Toast。这样Toast就不会停留在界面很久。而最多显示一个Toast提示时间的。

 

  private Toast toast = null;        private void showTextToast(String msg) {        if (toast == null) {            toast = Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT);        } else {            toast.setText(msg);        }        toast.show();    }

 

 

 

转载于:https://www.cnblogs.com/adm1989/archive/2012/12/04/2800880.html

你可能感兴趣的文章
leetcode278
查看>>
CodeForces-771D-Bear and Company
查看>>
PAT 1032 Sharing
查看>>
Extjs设置或获取cookie
查看>>
CC2541蓝牙BLE4.0主从透传工程
查看>>
iOS OC中block使用
查看>>
python之路--操作系统介绍,进程的创建
查看>>
markdown语法小结
查看>>
Java Gui 设计模式中的事件监听
查看>>
JavaSE-final关键字
查看>>
python自动化开发-1
查看>>
Remote远程特性的使用
查看>>
orm在django中的简单使用
查看>>
poj 2373 Dividing the Path
查看>>
dplyr 数据操作 常用函数(4)
查看>>
A股实时股票行情,指数行情web API 使用方法
查看>>
大整数算法[04] 位操作
查看>>
C# Parsing 类实现的 PDF 文件分析器
查看>>
汇编学习(1)
查看>>
Google招聘 Lead Software Engineer
查看>>