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

  • 相关阅读:
    洛谷P1120信息奥赛一本通1442 小木棍
    洛谷P1378 油滴扩展
    洛谷P1156 垃圾陷阱
    mybatis-Plus 实践篇之逆向工程
    Interceptor的使用及探究
    mysql,oracle,sqlServer 元数据查询
    navicat premium15免费版安装说明(附工具)
    打印日志你真的会吗?
    线程基础知识-必知必会
    空间复杂度&时间复杂度
  • 原文地址:https://www.cnblogs.com/jiezzy/p/2495146.html
Copyright © 2011-2022 走看看