Android中的多点触摸软键盘功能

Android中的多点触摸软键盘功能,android,keyboard,Android,Keyboard,我正在用Android开发一个键盘(特别是盲文键盘)。对于你们这些不知道的人来说,盲文是由六个点组成的,这些点的组合构成了符号。我使用KeyboardView类和基本侦听器编写了一个键盘,但问题是:默认侦听器一次只允许按下一个键。形成字母l需要三个点(点1、2和3)。我必须分别按每个键,然后按空格键来写这封信。我希望键盘以不同的方式工作;所有的点可以同时按下,当点被释放时,字母被书写。 当我认为这在与KeyboardView捆绑的侦听器中是不可能的时,我是对的吗?如果我在KeyboardView

我正在用Android开发一个键盘(特别是盲文键盘)。对于你们这些不知道的人来说,盲文是由六个点组成的,这些点的组合构成了符号。我使用KeyboardView类和基本侦听器编写了一个键盘,但问题是:默认侦听器一次只允许按下一个键。形成字母l需要三个点(点1、2和3)。我必须分别按每个键,然后按空格键来写这封信。我希望键盘以不同的方式工作;所有的点可以同时按下,当点被释放时,字母被书写。 当我认为这在与KeyboardView捆绑的侦听器中是不可能的时,我是对的吗?如果我在KeyboardView中重写onTouch例程,是否可以实现后一种功能?OnTouch功能是否同时检测多个动作关闭事件?我在想,如果这是可能的,我可以确定按下的x-y坐标,循环键盘上的键,并确定正在按下的键。如果这是不可能的,我是否必须在下面的步骤中编写一个基本视图?
非常感谢。

如果您想对键盘进行一些快速测试,如新的按键布局或新的预测文本算法,KeyboardView很好。如果你在做更复杂的事情,键盘视图就没有任何真正的灵活性。没有一个主要的键盘使用它(我知道这是肯定的,我写了其中一个,并与其他的工程师交谈过)

你可以重写onTouch或者在现有的键盘视图中加入一个触摸监听器,但是你必须在他们的框架内做很多工作,比如点击测试来确定触摸了什么键。在这一点上,从头开始写自己的可能更容易。我几乎可以保证,不管怎样,如果你一路走向商业产品,你会在某个时候


您可以使用onTouch将多个手指放下来,但它不会放在ACTION_down上。第一个手指向下移动一个动作,然后每增加一个手指向下移动一个动作指针。这就是它在任何视图中的工作方式。然后,任何手指上的任何动作都会产生一个动作。松开手指后,所有手指都会有一个动作指针,直到最后一个手指为止,这会有一个动作。

非常感谢。我想我将使用KeyboardView来放置键,但我将重写onTouch例程。Key类看起来很不错,因为如果传入的x-y值命中其中一个键,有些方法将返回true。我可以从XML文件中定义位置。