android 软键盘键没有正确击中

android softkeyboard key not hitting properly

我正在修改 android SDK 中的示例软键盘应用程序。我注意到即使我触摸键下方的位置,字母键似乎也会被击中。更具体地说,如果我触摸 "A" 键的顶部边界附近,那么键盘实际上会注册 "Q"。似乎每个键的边界矩形都延伸到它下面的空 space ,有时甚至拥有下面键的一些顶部。

此外,我尝试修改底行的布局,使 space 键更大,如下所示。但是,一旦我这样做, space 键右侧的部分在我触摸时不会注册。这个区域似乎占据了宽度的 10%。有什么想法可以调试这些问题吗?

  <Row android:rowEdgeFlags="bottom">
        <Key android:codes="-2" android:keyLabel="123" android:keyWidth="15%p" android:keyEdgeFlags="left"/>
        <Key android:codes="32" android:keyWidth="55%p" android:isRepeatable="true"/>
        <Key android:codes="46" android:keyLabel="." android:keyWidth="10%p"/>
        <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" 
                android:keyWidth="20%p" android:keyEdgeFlags="right"/>
    </Row>

找到上述 space 关键部分的答案: android custom keyboard: touch area of space key not completely covered

至于垂直校正,@ChrisStratton 是正确的。我调查了它,我所要做的就是将 android:verticalCorrection="0dp" 添加到 res\layout\input.xml 并且按键开始正确击中。