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;
}
}