1

在将用户从字母键盘导航到符号键盘时,布局对齐会被破坏。默认情况下,布局采用 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 错误而改变

符号键盘: 在此处输入图像描述

笔记:

  • 符号键盘没有问题。Bcz 我们试图将它作为主键盘在第一次充气时使用。当时没有问题。
  • 问题出在键盘更改部分(onKey 方法)。字母键盘在更换键盘时也不完全兼容
4

1 回答 1

1

键盘布局根据不在dp中的百分比绘制每个键。因此,将您的密钥宽度声明为%p而不是在dp

在布局文件中

<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>
于 2020-01-27T15:52:34.523 回答