避免重复吐司 ( Toast ) 时,显示时间过长

当短时间内多次调用 Toast.makeText 方法时,会出现吐司显示的内容显示时间过长,或者当前吐司没有显示最新内容的情况。

这是因为吐司会像排队一样,每一个吐司都会有自己固定的时间(短吐司为 2 秒,长吐司为 3.5 秒),新的吐司需要在前面的吐司显示结束之后才会出现。解决这种情况也很简单。

在公共的工具类里面,增加这样一个方法来弹吐司:

public void showToast(Context context, String text, boolean isLongLength) {
    int length;
    if (isLongLength) {
        length = Toast.LENGTH_LONG;
    } else {         
        length = Toast.LENGTH_SHORT;
    }
    if (toast == null) {
        toast = Toast.makeText(context, text, length);
    } else {
        toast.setText(text);
        toast.setDuration(length);
    }
    toast.show();
}

妥妥的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【威哥说】今天就是感恩节了哟,你近期有联系你的家人,你的朋友吗,以及你一切想说感谢的人了吗?定一个闹钟,在你今天上...
    磨砺营阅读 1,496评论 0 3
  • 一、系统自带Toast的源码分析 1. Toast的调用显示 学过Android的人都知道,弹出一个系统API吐司...
    笑说余生阅读 5,803评论 8 46
  • 这几天上海天气突然转冷,寒风瑟瑟,周末大家都选择待在家里不出门来御寒。曾经我的一个学生脑洞大开问我:老师,如果世界...
    休得无礼阅读 2,460评论 1 2
  • 人总是习惯在生命的长河里奔行,却常常忽略掉路边的风景。而有些风景,一旦在奔行的时候,你没有偏过头去看看,就会错过它...
    心之所向ANG阅读 296评论 2 4
  • 今天炒菜的时候用了之前听课的方法,用小火将老姜片慢慢榨,让姜汁融入到油里,当姜片变成金黄色的时候就可以放菜进行炒了...
    三宝妈肖雪强阅读 331评论 0 0