我正在从安卓SDK修改示例软键盘应用程序。我注意到,即使我触摸键下方的位置,字母键似乎也会被击中。更具体地说,如果我触摸"A"键的顶部边界附近,那么键盘实际上会注册"Q"。似乎每个键的边界矩形延伸到其下方的空白区域,有时甚至拥有下面键的顶部部分。
此外,我尝试修改底行的布局,使空格键更大,如下所示。但是,一旦我这样做,空格键右侧就有一部分在我触摸时没有注册。该区域似乎占据了宽度的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>
找到了上述空格键部分的答案:安卓自定义键盘:空格键的触摸区域未完全覆盖
至于垂直修正,@ChrisStratton是正确的。我研究了一下,我所要做的就是将android:verticalCorrection="0dp"
添加到reslayoutinput.xml
中,按键开始正确敲击。