文章类型: ANDROID
关键词: Android,Toast,显示时间问题的探讨
内容摘要: Android Toast 显示时间问题的探讨

Android Toast 显示时间问题的探讨

2017/5/31 18:22:31    来源:apple    阅读:

我想,看到这篇文章的你对Toast并不陌生,可以这样说,Toast的作用就是提示用户。一般为了到达更好地用户体验效果,我们可以自定义Toast的显示效果,包括样式、显示时间等。这里我只对Toast的显示时间问题与大家分享一下我的经验。

我们知道Toast的默认显示时间有两个,分别为Toast.LENGTH_SHORT和Toast.LENGTH_LONG,当然我们也可以根据需要自定义Toast显示时间的长短,这个问题不是本文的重点,在这里不做介绍。下面开始我们的重点。使用过Toast的你,也许与我一样也遇到过这样的问题:我们在几个Button的点击事件中都添加Toast提醒消息,当逐个点击这些Button后,Toast消息会叠加出现,持续一个相对长的时间,并且当我们关闭此应用时,Toast消息还在显示。出现这种情况是因为每次Toast提示的时间叠加的结果,比如,第一个Toast出现的时间为1s,那么第二个就要等待1s后才能出现,这样就会造成时间的累加,致使显示时间增加。显然我们在做应用时并不希望出现此种情况,那么这里给出我的用过的一个方法。如果我们的应用使用Toast频繁,建议对此单独建个类以使代码不至于那么冗杂,我们用起来也方便。

ToastShow.class:

public class ToastShow {    
    private Context context;    
    private Toast toast = null;    
    public ToastShow(Context context) {    
         this.context = context;    
    }    
    public void toastShow(String text) {    
        if(toast == null)    
        {    
            toast = Toast.makeText(context, text, Toast.LENGTH_SHORT);    
        }    
        else {    
            toast.setText(text);    
        }    
        toast.show();    
    }    
}

使用这段代码用于显示Toast就不会出现时间地叠加,下面分析一下。个人认为只是一个Toast在不停的显示,只是其内容(也就是出现的提示消息)不同,当Toast=null时,出现一个Toast,如果这个Toast还没有消失时就要出现第二个,那么只是使用其setText()方法改变了内容,文档对setText()方法地解释是:

Update the text in a Toast that was previously created using one of the makeText() methods.

也就是:更新之前创建的一个使用makeText()方法的Toast里的文本。看到这也许你就明白了。

↑ 上一篇文章:VC++中ListBox控件的使用 关键词:VC++中ListBox控件的使用 发布日期:2017/5/15 10:48:29
↓ 下一篇文章:Android onTouchListener 触屏接口总结 关键词:Android,onTouchListener,触屏接口总结 发布日期:2017/6/1 16:48:29
相关文章:
Toast 在activity关闭后,还在显示的问题解决 关键词:Toast,在activity关闭后,还在显示的问题解决,android 发布日期:2017-06-29 11:25
带你飞之Android多线程与异步任务(第一篇) 关键词:Android,多线程,异步任务,异常操作 发布日期:2017-09-12 17:22
android开发中出现了高德地图签名提示“INVALID_USER_SCODE”处理 关键词:android,高德地图,签名,提示,INVALID_USER_SCODE,处理,sdk,sha.. 发布日期:2017-12-21 11:13
相关目录:.NETANDROIDJAVA软件开发
我要评论
正在加载评论信息......