Toast使用之自定义显示时间
最近在学习安卓开发,遇到了一个问题,当使用监听类显示信息时,Toast的时间太长了,其中的
Toast.LENGTH_SHORT 时间长度为2秒
Toast.LENGTH_LONG 时间长度为3.5秒
先展示效果:
想要时间更短一些,于是就可以自己写一个类来替换。
直接放在主activity。
代码如下:
private void showMyToast(final Toast toast, final int cnt) {
final Timer timer =new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
toast.show();
}
},0,3000);
new Timer().schedule(new TimerTask() {
@Override
public void run() {
toast.cancel();
timer.cancel();
}
}, cnt );
}
主activity下放入监听类,并调用showToast(),
代码如下:
protected void onActivityResult(int requestCode,int resultCode,Intent data){
super.onActivityResult(requestCode,resultCode,data);
//Toast.makeText(this,"从第"+requestCode+"个Activity返回。",Toast.LENGTH_SHORT).show();
showMyToast(Toast.makeText(this,"从第"+requestCode+"个Activity返回。"+resultCode,Toast.LENGTH_SHORT),1000);
if(resultCode==1){
String string = data.getStringExtra("hello");
//showMyToast(Toast.makeText(MainActivity.this,"正在获取常用语",Toast.LENGTH_LONG),400);//调用
showMyToast(Toast.makeText(this,string,Toast.LENGTH_SHORT),2*1000);//调用,这里的两个Toast同时进行了,还不知道怎么写才能先执行一个在执行另一个。
}
}
这样子就可以控制显示的时间了。