Специальная программная клавиатура для Android
Есть ли способ создать специализированную программную клавиатуру на Android? После прочтения документации по InputMethodService и ознакомления с альтернативными приложениями для клавиатуры, я понял, что альтернативную клавиатуру можно настроить только для использования в системе (через Настройки -> Локаль и Текст).
Если ответ на поставленный выше вопрос - "нет", то существует ли хотя бы способ загрузить пользовательский словарь и переопределить стандартный словарь системной клавиатуры (только когда мое приложение используется)? Это поможет дать очень важные предложения пользователю, когда он нажал только пару клавиш.
2 ответа
Если вам просто нужен вид, который выглядит и действует как программная клавиатура, я сделал это в своем классе SmallKeyboard. Вам просто нужно расширить http://developer.android.com/reference/android/inputmethodservice/KeyboardView.html и выбрать макет. См. Методы onKey и onText в конце этого файла, чтобы узнать о действиях, выполняемых при нажатии клавиш.
Вместо внутреннего класса модели клавиатуры вы можете загрузить его из XML, если ваш набор ключей достаточно постоянен.
Приложение Android Nethack содержит полный и понятный пример исходного кода того, как создать пользовательскую клавиатуру для приложения, как отобразить ее на экране и как определить несколько раскладок клавиатуры. Он содержит почти все, что вам нужно знать.
Это, безусловно, лучший пример, который я видел.