溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

android子線程刷新主線程UI

發(fā)布時(shí)間:2020-06-28 21:27:07 來源:網(wǎng)絡(luò) 閱讀:500 作者:671076656 欄目:移動(dòng)開發(fā)

今天在公司做了一個(gè)刷新UI界面的問題

當(dāng)用戶點(diǎn)擊了錄像按鈕后,按鈕要不斷閃爍

這里就用到了線程

Handler


new Thread(mRunnable).start();//調(diào)用


* Function : 實(shí)現(xiàn)run()方法,每1秒發(fā)送一條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   :   實(shí)現(xiàn)handleMessage()方法,用于接收Message,刷新UI

     * Author     :   博客園-依舊淡然

     */

    private Handler mHandler = new Handler() {

        public void handleMessage(Message msg) {

            super.handleMessage(msg);

            refreshUI();

        }

    };

    

   

      //*下面這條if語句用來判斷用戶是否點(diǎn)擊了停止錄像按鈕

       // 若沒有改if語句,則按鈕在閃爍時(shí),由于時(shí)延,當(dāng)紅燈時(shí)點(diǎn)擊

        // 按鈕停止在白燈,白燈時(shí)點(diǎn)擊,按鈕暫停在紅燈,給用戶造成一種錯(cuò)覺

         

        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);

}

    }


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI