温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

android子线程刷新主线程UI

发布时间:2020-06-28 21:27:07 来源:网络 阅读:480 作者:671076656 栏目:移动开发

今天在公司做了一个刷新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);

}

    }


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI