Toast 覆盖,显示最新的Toast内容

需求:当弹出多条Toast提示时,最新的要覆盖掉之前的,不要等待前面完成再展示后面的

分析

  1. 建立Toast对象集合,当新的Toast显示时,遍历集合中的Toast对象,调用其cancel方法
  2. 设置Toast为单例,当有新提示时,会自动取消之前的

选择第二种方式

单例

    public static Toast getInstance(Context context) {
        if (sToast == null) {
            synchronized (ToastUtils.class) {
                if (sToast == null) {
                    sToast = new Toast(context);
                }
            }
        }
        return sToast;
    }

自定义Toast

     */
    public static void showShortToast(Context context, String format, Object... args) {
        Toast toast = getInstance(context);
        //设置Toast显示位置,居中,向 X、Y轴偏移量均为0
        toast.setGravity(Gravity.CENTER, 0, 0);
        //获取自定义视图
        View view = LayoutInflater.from(context).inflate(R.layout.toast_layout, null);
        TextView tvMessage = (TextView) view.findViewById(R.id.toast_content);
        //设置文本
        tvMessage.setText(format);
        //设置视图
        toast.setView(view);
        //设置显示时长
        toast.setDuration(Toast.LENGTH_SHORT);
        //显示
        toast.show();
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,917评论 8 265
  • 一早看到这个新闻。 这让我想起十年前,一个叫许霆的年轻人在广州因ATM机故障多取了17.5万元人民币,一审也是判处...
    风波力阅读 3,767评论 3 0
  • ﹉那天温度不很高,天空不很蓝,你也只是恰好经过,而我却记了很久。 ﹉我们是好朋友,很多人都不知道的好朋友。我们发生...
    予重新长阅读 2,761评论 0 3
  • 《芳华》影评里,有这样一个故事: 有个电台主持人,在深夜的时候接到一个小女孩的电话。 小女孩说,她是乖小孩,弟弟是...
    青砚墨阅读 1,469评论 0 1