Toast显示
来源:互联网 发布:java全套视频教程 编辑:程序博客网 时间:2024/05/22 08:18
Toast只会弹出一段信息,告诉用户某某事情已经发生了,过一段时间后就会自动消失。它完全不会阻挡用户的任何操作,甚至用户也可以完全不用理会Toast。
那么我们还是先来看一下Toast的基本用法吧,如下所示:
- 1
- 1
最后一个参数用于指定Toast显示的时长,Toast.LENGTH_SHORT表示显示时间较短,Toast.LENGTH_LONG表示显示时间较长。
不过也不是说Toast的用法就一点深度都没有了,比如说上述的写法就会存在如下图所示的问题:
可以看到,这里我快速连续点击了五次按钮,Toast就触发了五次。这样的体验其实是不好的,因为也许用户是手抖了一下多点了几次,导致Toast就长时间关闭不掉了。又或者我们其实已在进行其他操作了,应该弹出新的Toast提示,而上一个Toast却还没显示结束。
因此,最佳的做法是将Toast的调用封装成一个接口,写在一个公共的类当中,如下所示:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
可以看到,这里和我们平时使用Toast的方式并不一样,这里会先判断Toast对象是否为空,如果是空的情况下才会调用makeText()方法来去生成一个Toast对象,否则就直接调用setText()方法来设置显示的内容,最后再调用show()方法将Toast显示出来。由于不会每次调用的时候都生成新的Toast对象,因此刚才我们遇到的问题在这里就不会出现了。
调用的时候也很简单,只需要把Context对象和Toast要显示的内容传进来就可以了:
- 1
- 1
现在我们再重新运行一遍程序,效果如下图所示:
可以看到,现在不管我们触发多少次Toast调用,都只会持续一次Toast显示的时长,这也算是一个小技巧吧。
Toast的作用是告诉用户现在发生了什么事情,不会阻挡用户的操作,但同时用户只能被动接收这个事情,因为没有什么办法来让用户是选择同意还是拒绝。
虽说Toast在用户体验方面要比Dialog好一些,但是也要慎用,尤其是涉及到一些敏感操作的时候。比如说删除数据,只给用户一个提示:“你的数据已被删除”,而不给用户选择是否要删除的机会,这个时候用户可能就要暴走了。
- Toast显示
- TOAST:不重复显示Toast
- 自定义显示的Toast
- Toast显示图片
- Toast 显示测试
- Toast显示一个ImageView
- Toast显示图片提示
- Toast重复显示问题解决
- Android Toast显示动画
- Toast 显示 ImageView
- 设置Toast显示位置
- 居中显示的Toast
- Toast 文本显示
- Toast不显示
- Android Toast显示动画
- Toast的显示
- 设置Toast显示位置
- Toast不显示--hw
- springmvc 工作流程
- HDU
- 逻辑混乱--javascript动态循环绑定
- [Unity Shaders] 半透明材质的混合效果
- qt中关于xml的读取、写入、修改等操作
- Toast显示
- Raid
- mybatis自动生成代码的语句
- Hadoop入门之Yarn调度MR流程
- Activity启动模式详解
- linux中的分段和分页
- 【网络流24题】火星探险(拆点+费用流)
- Python读取图像
- SpringBoot从入门到精通