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也实现了自动隐藏功能:

  • 相关阅读:
    【JS】js获得下拉列表选中项的值和id
    【Java】Java处理double相加的结果异常
    【JSP】弹出带输入框可 确认密码 对话框
    【MySQL】Java对SQL时间类型的操作(获得当前、昨天、前年。。时间)
    【MySQL】通过select语句把一列数据拼接成一条字符串
    【JSP】JSP向MySQL写入|读出中文数据——乱码问题
    【CSS】使用CSS改变超链接样式
    【JSP】三种弹出对话框的用法实例
    【JSP】<meta>标签用法
    【Mysql】安装 mysql-5.7.5 指南
  • 原文地址:https://www.cnblogs.com/jiezzy/p/2495146.html
Copyright © 2011-2022 走看看