В Android Custom Keyboard, как изменить алфавитную клавиатуру на символьную клавиатуру?
При переходе пользователя от алфавитной клавиатуры к символической клавиатуре выравнивание раскладок портится. По умолчанию макет занимает 5 дпд, и пользователь не может видеть ключи последнего столбца.
Примечание: изображения показаны ниже.
Я обработал ключевые действия для перехода пользователя от клавиатуры алфавита к клавиатуре символа в методе 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)
}
}
}
Просьба предложить, есть ли другой способ изменить клавиатуру (или), что я сделал неправильно
То, с чем я столкнулся, показано ниже. Алфавит Клавиатура:
При смене клавиатуры в KeyboardView с использованием setMethod в Kotlin она меняется с некоторой незначительной ошибкой пользовательского интерфейса
Замечания:
- Символы Клавиатура не имеет проблем. Bcz Мы пытались использовать его как первичную клавиатуру для раздувания в самый первый раз. Это не имеет проблемы в то время.
- Проблема в разделе "Смена клавиатуры" (метод onKey). Алфавитная клавиатура также не полностью совместима при смене клавиатуры
0 ответов
Раскладка клавиатуры рисует каждую клавишу на основе процента не в 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>