吐丝,大家都很熟悉的一个词,而且大家也常常在用这个功能。即:

Toast.makeText(MainActivity.this, "吐丝的内容", Toast.LENGTH_SHORT).show();

这个功能可以用来提示一些信息给用户,很方便。


  • 但是,吐丝有需要优化的地方。比如当你点击一个弹出吐丝的按钮多次,这时候我们需要的是吐丝的内容只提示用户一次;但是这时候却会弹出吐丝内容很多次,你点击了多少次,就弹出多少次;而这样是用户体验很差的,所以比较好的解决方法就是,在短时间内点击了多次吐丝按钮,也只弹出一次吐丝内容提示用户。

这时候我们可以将Toast的调用封装成一个接口,写在一个公共类Utils中供我们调用。如下:

package com.example.toastutil;import android.content.Context;
import android.widget.Toast;public class Utils {public static Toast toast;/*** 吐丝的方法,可以避免重复吐丝。当你点击多次按钮的时候,吐丝只出现一次。* @param context 上下文对象* @param string    吐丝的内容*/public static void showToast(Context context, String string) {// TODO Auto-generated method stubif(toast == null){// 如果Toast对象为空了,那么需要创建一个新的Toast对象toast = Toast.makeText(context, string, Toast.LENGTH_LONG);}else {// 如果toast对象还存在,那么就不再创建新的Toast对象toast.setText(string);}// 最后调用show方法吐丝toast.show();}}

上面的代码都有注释,方便大家理解。有不理解的可以评论联系我。


调用的时候也比较简单,如下所示:

Utils.showToast(MainActivity.this, "吐丝测试");

传入两个参数,一个是上下文对象context,一个是你想要吐丝显示的内容。好了,就到这里,一个小的技巧分享给大家!


这里给出测试的apk,大家可以下载自己测试一下:

点我下载Toast用户体验优化apk


每天进步一点点!加油!

Android中使用Toast弹出信息提示时的用户体验优化相关推荐

  1. Android中使用Toast弹出提示消息的优化(弹出多个吐丝提示)- 代码已封装可直接使用

    在开发Android APP时经常会使用吐丝提示,如果直接使用[Toast.makeText(context, text, Toast.LENGTH_SHORT).show();]方法,连续弹出吐丝时 ...

  2. weui 加载提示_weui Toast弹出式提示 使用教程

    js代码// pages/03caozuofankui/05-toast.js Page({ /** * 页面的初始数据 */ data: { }, openToast: function () { ...

  3. Android中EditText优先弹出数字输入法

    Android Android中EditText优先弹出数字输入法 项目中一个EditText输入数字的频率较高,但是汉字和英文的输入也偶有需要,直接在xml文件将inputType设置为number ...

  4. c#web页面显示弹窗_C#中三种弹出信息窗口的方式

    弹出信息框,是浏览器客户端的事件.服务器没有弹出信息框的功能. 方法一: asp.net页面如果需要弹出信息框,则需要在前台页面上注册一个javascript脚本,使用alert方法.使用Client ...

  5. Android中软键盘弹出时关于布局的问题

    当在Android的layout设计里面如果输入框过多,则在输入弹出软键盘的时候,下面的输入框会有一部分被软件盘挡住,从而不能获取焦点输入. 解决办法: 方法一:在你的activity中的oncrea ...

  6. Android中软键盘弹出可能遮挡布局

    当在Android的layout设计里面如果输入框过多,则在输入弹出软键盘的时候,下面的输入框会有一部分被软件盘挡住,从而不能获取焦点输入. 解决办法: 方法一:在你的activity中的oncrea ...

  7. 将Capicom调用代码封装到ActiveX——解决javascript调Capicom读取数字证书信息时,IE弹出安全提示的问题...

    此文系转载 原文:http://www.cnblogs.com/xuezhizhang/archive/2011/07/10/2102542.html 一.使用javascript方法: <ob ...

  8. C#中在鼠标经过Button控件时显示提示信息(弹出气泡提示框)

    C#有个ToolTip的控件是弹出气泡提示框的,在界面上放一个ToolTip1控件,可以在所有需要弹出气泡的控件的属性中的"toolTip1的ToolTip"填写需要提示的信息就行 ...

  9. 怎么查看usb读取信息_电脑弹出USB设备时提示该设备正在使用中的解决方法

    转载的文章,原文: 电脑弹出USB设备时提示该设备正在使用中的解决方法-系统城​www.xitongcheng.com 电脑弹出USB设备时提示该设备正在使用,虽然在正常显示时并没有程序在使用,但是确 ...

  10. Android 多种简单的弹出框样式设置

    简介 这是一个基于AlertDialog和Dialog这两个类封装的多种弹出框样式,其中提供各种简单样式的弹出框使用说明.同时也可自定义弹出框. 项目地址:https://github.com/Liu ...

最新文章

  1. 如果一栋楼起火谁赔偿_南昌一居民楼起火,短短几分钟里三四十人上演“救火大合唱”...
  2. 关于RF中类似于异常(TRY语句)情况的处理
  3. 这款Python王者编辑器,集Pycharm和Sublime优点于一身
  4. oracle group by效率问题,性能优化-group by的优化
  5. 《修改winXP pro安装界面》 、《修改winXP pro开机画面》、《修改winXP pro登录画面》...
  6. Jin Ge Jin Qu hao UVA - 12563 (劲歌金曲)01背包,求装入的东西最多(相同多时价值大)
  7. scanf在c语言中的作用是什么?
  8. Object 的静态方法之 defineProperties 以及数据劫持效果
  9. Etherchannel的配置 三层
  10. 计算机网络之网络概述:5、OSI七层参考模型
  11. Bezier(贝塞尔)曲线的轨迹规划在自动驾驶中的应用(一)
  12. 在struts2 中通过ActionContext访问Session对象
  13. 像数据科学家一样思考:12步指南(上) 1
  14. 翻译:Swift 5.1中的Protocol面向协议的编程教程:从入门到精通
  15. T410i笔记本DP线转接HDMI链接外设无法传输声音问题解决
  16. Far planner之 障碍物的图搜索
  17. linux定时脚本编写,如何实现Linux定时任务
  18. 生死看淡,不服就GAN(九)----英伟达力作PGGAN实战,生成高清图片
  19. datanlysis
  20. 【理解】ORB特征提取与ORBSLAM特征匹配简要剖析

热门文章

  1. java vo的使用_使用VO传递参数的设计 | 学步园
  2. mac tortoisesvn客户端_TortoiseSVN Mac版
  3. 巨星陨落 - Jim Gary
  4. 想要走上巅峰?练好演讲也是必不可少的技能
  5. 11月总结#nobody
  6. 【LaTeX应用】文字方向,文字竖排
  7. 我在阿里工作的这段时间里,都学到了哪些东西
  8. 引流脚本是什么意思,比邻引流脚本何如多开?
  9. 使用PHP实现文件上传
  10. 教师资格证面试考试详细流程来了