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

  • 相关阅读:
    5月12日上课笔记-js 弹出框、函数、程序调试、基本事件、浏览器对象模型
    5月11日上课笔记-js简介
    5月9日上课笔记-网页定位、网页动画【HTML5】
    用IO字节流复制文件-CopyFileByIo
    5月8日上课笔记-浮动float
    5月5日上课笔记-盒子模型【HTML5】
    @RequestParam,@PathParam,@PathVariable,@QueryParam注解的使用区别
    vue-router 的配置
    VSCode自定义代码片段(模板)
    使用通用 Mapper 依据数据表生成实体类
  • 原文地址:https://www.cnblogs.com/jiezzy/p/2495146.html
Copyright © 2011-2022 走看看