笔者刚学android,由于Toast的show()时间很短,觉得显示的内容在那么短的时间内无法完成阅读,于是萌发能不能让Toast显示的时间更长久的想法。
刚开始笔者看到了用反射获得mTN的方法,由于学习的博客代码可能有点小瑕疵,笔者测试后发现显示不了Toast,于是换了方法。日后有机会会继续学习Toast,今天带来用Timer来控制Toast的时间。
根据TimeTask的原理,利用Timer的定时功能,实现了自定义Toast的显示时间。
//创建ToastToast toast=Toast.makeText(MainActivity.this,nums.toString(),Toast.LENGTH_SHORT);showMyToast(toast,10);//显示十次//显示Toastprivate void myShowToast(Toast toast,int cnt){ if(cnt<0) return; toast.show(); timerToast(toast,cnt); } //每过2ms,显示一次Toastprivate void timerToast(final Toast toast,final int cnt){ Timer timer=new Timer(); timer.schedule(new TimerTask() { @Override public void run() { myShowToast(toast,cnt-1); } },2000);}
这是一种简单的实现方法,以后会慢慢更新。
时间: 2024-12-21 17:47:36