Android键盘 - 容差

时间:2014-03-02 16:47:32

标签: android keyboard

我试着做一个键盘,就像原来的Android键盘一样。键盘上的按键只是简单的按钮,背景图像。 我注意到与原始键盘相比,键入键盘要困难得多。似乎存在容忍这样的事情:

http://i.imgur.com/fdMgaPX.png

如果你正在击中红点,你将得到一个A.如果你正在击中蓝点,你会得到一个U或一个J.没有任何意义,你可以在没有写一封信的情况下击中它。在我的键盘上,这发生了很多,虽然它看起来一样,键之间的距离是相等的。有谁知道如何达到这个或有任何关于这个功能的进一步信息?

谢谢!

1 个答案:

答案 0 :(得分:0)

这取决于你是否使用Button类作为键。如果是这样,就无法定义所谓的容差。

为了避免这种情况,我将创建一个类Key扩展视图或TextView。它不那么简单,因为你必须自己定义一个背景,一个字体大小;但它会更灵活,因为你可以创建一个比按钮小一点的自定义命中框(由Rect定义)。例如,您的按钮大小减去5dp的边距。

然后在onTouchEvent中,我会检查手指位置是否在hitbox内。如果不是,只需返回呼叫者即可。