【发布时间】:2011-09-23 07:52:23
【问题描述】:
我有一个文本视图,我有很多按钮。其中一个按钮应该能够很好地启动“动画”,它不是动画中的动画,它只需要使文本变为红色 2 秒,然后文本应该变为绿色 2 秒,然后再变回红色。 .. -其中一个按钮应该停止“动画”并将文本设置为白色 -one 应该让文本变回 1 秒,而不是蓝色 2 秒,然后再变回黑色......
关键是用户应该可以随时按下按钮。
我认为我应该使用 Handler 但我不确定模式,我不知道线程的停止应该是什么样子,我的意思是当我启动线程时,稍后我应该告诉他停止......最好的方法是什么?
我总是用愚蠢的技巧来编码这种想法,我不知道模式是什么,这样做的正确方法是什么?
谢谢
这是我如何做的一些代码,但我觉得这不是正确的方法
private boolean flagForStop=true;
private Handler handler1=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case 0:
flagForStop=false;
case 1:
flagForStop=true;
break;
case 2:
new Thread(){
public void run(){
while(true){
if(flagForStop)break;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
//do something
}
}
}.start();
break;
default:
break;
}
}
};
比我的听众像 handler1.sendEmptyMessage(0);
【问题讨论】:
-
我以为闪烁文字很久以前就被禁止了!
-
不是文字会闪烁其他动作的重点,重点是模式,编码的方式......,这是我不明白的部分,我不知道做这种情况的正确方法是什么
标签: android multithreading algorithm design-patterns handler