且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

android toast设置比Toast.LENGTH_SHORT还短的持续时间

更新时间:2022-05-29 12:35:36

最近接触android开发,很多东西使用的时候都没考虑到通用性,比如我经常使用的toast,系统自带的Toast.LENGTH_LONG是3.5秒,Toast.LENGTH_SHORT是2秒,我们有的时候发现Toast.LENGTH_SHORT比我们想要的效果还是长了一些。这里我们可以用handler来手动cancel这个toast,同时把它当做一个通用方法来使用。在这里我把这个方法列下来供自己参考:

* 
	 * 显示toast,自己定义显示长短。
	 * param1:activity  传入context
	 * param2:word   我们需要显示的toast的内容
	 * param3:time length  long类型,我们传入的时间长度(如500)
	 */
	public static void showToast(final Activity activity, final String word, final long time){
		activity.runOnUiThread(new Runnable() {	
			public void run() {
				final Toast toast = Toast.makeText(activity, word, Toast.LENGTH_LONG);
				toast.show();
				Handler handler = new Handler();
			        handler.postDelayed(new Runnable() {
			           public void run() {
			               toast.cancel(); 
			           }
			    }, time);
			}
		});
	}