虚拟键盘的原理比较简单: 在屏幕上绘制 需要用到的键盘虚拟图,然后重写触控监听方法 onTouchEvent, 然后在虚拟键盘位置写入相应的监听方法,即可实现完全触控的虚拟键盘技术.
下面通过虚拟键盘按钮控制 菱形的上下移动
主要代码包括:
@Override
public boolean onTouchEvent(MotionEvent e) {
float x = e.getX();
float y = e.getY();
switch (e.getAction()) {
case MotionEvent.ACTION_DOWN:
if (x > 12 && x < 48 && y > 371 && y < 404) { // 向上虚拟键的位置
mRender.diamond.yOffset += 0.5f; // 物体向上移动
}
if (x > 268 && x < 305 && y > 371 && y < 404) { // 向下虚拟键的位置
mRender.diamond.yOffset -= 0.5f; // 物体向下移动
}
break;
}
return true;
}
具体代码请参见 VirtualKeyboard_15_3 工程
示意图如下: