android :让Toast一直显示的解决方法
Toast是Android用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失。前两天社区还有人问,想让Toast一直显示,怎么做呢?
http://blog.sina.com.cn/s/blog_5be1061c0100emzp.html
Toast有个setDuration方法设置显示的。但很奇怪的只能设置两个值,Toast.LENGTH_LONG或Toast.LENGTH_SHORT。
设置其他值都没你想要的效果,只能是Toast.LENGTH_LONG或Toast.LENGTH_SHORT其中一值。
其实可以用Timer来解决。 isRunning = true;
timer = new Timer();
timer.schedule(new TimerTask(){
@Override
public void run() {
// TODO Auto-generated method stub
while(isRunning){
toast.show();
}
}
}, 10); Timer控件简介
http://zhidao.baidu.com/question/177324281.html?qbl=relate_question_0&word=timer�ؼ�
Timer控件主要会用到2个属性一个是Enabled和Interval
Enabled主要是控制当前Timer控件是否可用
timer1.Enabled=false;不可用
timer1.Enabled=true;可用
timer1.Interval=1000;主要是设置timer2_Tick事件的时间,单位为毫秒
例一:到9:00提示去上厕所:(
把timer2.Interval=60000;//1分钟
private void timer2_Tick(object sender, System.EventArgs e){
string
cesuotime=DateTime.Now.DateTime.Now.ToShortTimeString();//得到现在的时间
if(cesuotime.equles("9:00")){
timer1.Enabled=false;
MessageBox.show("该去上厕所了");
timer1.Enabled=true;//如果不先把enabled设置成false对话框会一直弹下去
}
}
例二:每2小时提示用户看电脑时间已经很久了,需要休息了
把timer2.Interval=7200000;//7200秒
private void timer2_Tick(object sender, System.EventArgs e){
timer1.Enabled=false;
MessageBox.show("需要休息了,开机已经2小时了");
timer1.Enabled=true;//如果不先把enabled设置成false对话框会一直弹下去
}
}