zoukankan      html  css  js  c++  java
  • Android中实现按钮自动隐藏

    //触摸显示悬浮的按钮
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if(!zoomControls.isShown()) {
            //用一个定时器定时
            final Timer timer = new Timer();
            TimerTask task = new TimerTask() {
                @Override
                public void run() {
                    Message message = new Message();
                    message.what = 1;
                    handler.sendMessage(message);
                }
                Handler handler = new Handler() {
                    public void handleMessage(Message msg) {
                        switch(msg.what) {
                        case 1:
                            if(zoomControls.isShown()) {
                                showView(false);
                                if(timer != null) {
                                    //取消Timer
                                    timer.cancel();
                                }
                            }
                            break;
                        }
                        super.handleMessage(msg);
                    }
                };
            };
            showView(true);
            //以后每3秒,执行一次task
            timer.schedule(task, 3000);
            return false;
        }
        return false;
    }
    //控制悬浮按钮的显示或消失
    public void showView(Boolean boo) {
        if(boo) {
            zoomControls.show();
        }else {
            zoomControls.hide();
        }
    }

    其实原理也不难,就是用一个Timer定时器定时,TimerTask中用一个线程判断和管理是否显示,通过

    Handler发送显示或隐藏的消息。

    于是我的ZoomControls也实现了自动隐藏功能:

  • 相关阅读:
    数组过滤
    数组过滤
    以文件流的形式下载文件
    antD 时间年的写法
    如何判断一个js对象是否是Array,
    webSocket 使用
    react map循环的dom,点击让当前数组里的isShow显示false
    react react-draft-wysiwyg使用
    jQuery placeholder插件 让IE也能够支持placeholder属性
    JavaScript 逼真图片倒计时实现代码 js时间图片倒计时
  • 原文地址:https://www.cnblogs.com/jiezzy/p/2495146.html
Copyright © 2011-2022 走看看