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

  • 相关阅读:
    软件工程实践2017第一次作业
    mysql卸载重装总是卡在starting server这一选项
    java web出现的问题
    c#中对文件进行解压同时进行解压后的数据操作
    添加debug里面的图片进行打印
    如何创建一个button控件,进行资源选择
    使用Graphics.DrawString如何实现textBox换行打印
    很有意思的一种两个数交换的方法
    将一个字符串进行反转;获取一个字符串在另一个字符串中出现的次数;获取两个字符串中最大相同子串。
    Comparator匿名实现
  • 原文地址:https://www.cnblogs.com/jiezzy/p/2495146.html
Copyright © 2011-2022 走看看