您好,登錄后才能下訂單哦!
今天在公司做了一個刷新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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。