自定义时间的Toast
笔者刚学android,由于Toast的show()时间很短,觉得显示的内容在那么短的时间内无法完成阅读,于是萌发能不能让Toast显示的时间更长久的想法。
刚开始笔者看到了用反射获得mTN的方法,由于学习的博客代码可能有点小瑕疵,笔者测试后发现显示不了Toast,于是换了方法。日后有机会会继续学习Toast,今天带来用Timer来控制Toast的时间。
根据TimeTask的原理,利用Timer的定时功能,实现了自定义Toast的显示时间。
//创建Toast
Toast toast=Toast.makeText(MainActivity.this,nums.toString(),Toast.LENGTH_SHORT);
showMyToast(toast,10);//显示十次
//显示Toast
private void myShowToast(Toast toast,int cnt){ if(cnt<0) return; toast.show(); timerToast(toast,cnt); }
//每过2ms,显示一次Toast
private 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);
}
这是一种简单的实现方法,以后会慢慢更新。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步