从“字母键盘”导航到“符号键盘”时,布局对齐方式被破坏了。默认情况下,布局采用5dp填充,并且用户看不到“最后一栏”键。
注意:下面显示的图像。
我通过onKey方法处理了将用户从字母键盘导航到符号键盘的按键操作
override fun onKey(primaryCode: Int, keyCodes: IntArray?) {
when (primaryCode) {
KEYCODE_ALPHABETS -> {
keyboardView?.keyboard = Keyboard(this, R.xml.keyboard)
}
KEYCODE_SYMBOLS_1 -> {
keyboardView?.keyboard = Keyboard(this, R.xml.keyboard_symbols_1)
}
KEYCODE_SYMBOLS_2 -> {
keyboardView?.keyboard = Keyboard(this, R.xml.keyboard_symbols_2)
}
}
}
请提示还有其他方法可以更改键盘(或)我做错了的事情
在Kotlin中使用setMethod在KeyboardView中更改键盘时,它会发生轻微的UI错误
注意:
答案 0 :(得分:1)
“键盘布局”根据百分比(而不是 dp )绘制每个键。 因此,请在 dp
中声明密钥宽度为%p在布局文件中
<Row
android:horizontalGap="@fraction/key_horizontal_ten_keys_gap"
android:keyWidth="@fraction/ten_keys_key_width"
android:rowEdgeFlags="top">
</Row>
在资源文件中
<fraction name="ten_keys_key_width">8.8%p</fraction>