今天在公司做了一个刷新UI界面的问题
当用户点击了录像按钮后,按钮要不断闪烁
这里就用到了线程
Handler
new Thread(mRunnable).start();//调用
* Function : 实现run()方法,每1秒发送一条Message给Handler
* Author : 博客园-依旧淡然 */
private Runnable mRunnable = new Runnable() {
public void run() {
while(isRecord) {
try {
Thread.sleep(1000);
mHandler.sendMessage(mHandler.obtainMessage());
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
};
* Function : 实现handleMessage()方法,用于接收Message,刷新UI
* Author : 博客园-依旧淡然
*/
private Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
super.handleMessage(msg);
refreshUI();
}
};
//*下面这条if语句用来判断用户是否点击了停止录像按钮
// 若没有改if语句,则按钮在闪烁时,由于时延,当红灯时点击
// 按钮停止在白灯,白灯时点击,按钮暂停在红灯,给用户造成一种错觉
if(!isRecord){
mImgRec.setVisibility(View.INVISIBLE);
return;
}
if(n % 2 == 0){
mImgRec.setVisibility(View.VISIBLE);
mImgRec.setBackgroundResource(R.drawable.controlbar_record_start);
}else if(n % 2 == 1){
//mImgRec.setBackgroundResource(R.drawable.controlbar_record_stop);
mImgRec.setVisibility(View.INVISIBLE);
}
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。