2014-03-02 24 views
0

我试图做一个键盘,就像原来的Android键盘一样。我的键盘上的按键只是简单的按钮,图像作为背景。 我注意到,与原来的键盘相比,在我的键盘上输入要困难得多。似乎有这样的东西作为一个公差:Android键盘 - 容差

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

如果你打红点。如果你打的蓝点,你会得到一个U或一个J.还有就是你会得到一个A.从字面上看,没有一点你可以在不写信的情况下点击。在我的键盘上,这发生了很多,虽然看起来相同,键之间的距离相等。有谁知道如何获得这个或有任何关于此功能的更多信息?

谢谢!

回答

0

这取决于您是否将Button类用于您的密钥。如果是这样,就没有办法来定义你所说的容差。

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

然后在onTouchEvent中,我会检查手指位置是否在hitbox内。如果不是,只需返回给调用者。