美文网首页Android葵花宝典
Android仿游戏摇杆 自定义控件

Android仿游戏摇杆 自定义控件

作者: 最简单的实现 | 来源:发表于2017-04-15 13:35 被阅读0次
    Android上使用FrameLayout制作游戏摇杆控件 先看效果图 这里写图片描述

    首先设置监听

    view.setCallback(callback);
    
    private CircleViewByImage.ActionCallback callback = new CircleViewByImage.ActionCallback() {
            @Override
            public void forwardMove() {
                showAction("Up");
            }
    
            @Override
            public void backMove() {
                showAction("Down");
            }
    
            @Override
            public void leftMove() {
                showAction("Left");
            }
    
            @Override
            public void rightMove() {
                showAction("Right");
            }
    
            @Override
            public void centerMove() {
                showAction("Move a little in center area");
    
            }
    
            @Override
            public void centerClick() {
                showAction("Click on center area");
            }
    
            @Override
            public void actionUp() {
                showAction("Action up");
            }
        }
    

    在每个回调的方法里需要做一个处理,因为每个回调方法在短时间内会因手指头微动而触发多次,所以只需要根据时间(下面是1000ms)来做简单的判断即可

    long lastTime;
    
    private void showAction(String str){
      long curTime = System.currentTimeMillis();
      if (curTime > 1000 + lastTime) {
        // TODO: 2017/4/10 your action code 
        lastTime = curTime;
      }
    }
    

    缺点

    该控件是在UI线程执行的,不是通过SurfaceView绘制的。
    demo地址

    相关文章

      网友评论

        本文标题:Android仿游戏摇杆 自定义控件

        本文链接:https://www.haomeiwen.com/subject/csvnattx.html