Я следил за примерами developer.android.com относительно Методы ввода и воспроизведены с помощью приложения SoftKeyboard. Они вместе дают более чем достаточно информации о создании простой клавиатуры.
То, что я не вижу в API, - это возможность создавать альтернативные/множественные символы на ключ, который доступен на стандартной клавиатуре (LatinIME Keyboard).
Вышеупомянутое изображение является результатом длительного нажатия на клавишу "a". Когда вы долго нажимаете клавишу, вы можете заполнить всплывающее окно альтернативными символами.
Также можно дать подсказку всплывающих окон на некоторых клавишах, которые заставят пользователя нажать и удерживать клавишу, чтобы получить всплывающее меню.
До сих пор я не нашел ни одного источника информации о том, как это достигается, надеюсь, кто-то сможет дать мне начало, до тех пор я буду следовать исходному коду встроенной клавиатуры и посмотреть, будет ли я может перепроектировать его.
Изменить: Помогло бы, если developer.android.com ссылка на латинскую клавиатуру не ссылалась на изображение Sheep:) Фактический исходный код для LatinIME.java.
Изменить 2: В качестве ссылки, чем что-либо еще, это последовательность, в которой, как я полагаю, выполняется обычное действие longPress, чтобы показать всплывающее меню в KeyboardView.java:
onTouchEvent()
onModifiedTouchEvent()
mHandkler.handleMessage() with MSG_LONGPRESS
openPopupIfRequired()
onLongPress()
Изменить 3:
Я до сих пор не понял этого: как добавить предложения ярлыков к клавишам? Ответ подсказывает, что он не встроен в API, и, действительно, я не нашел, чтобы этот код делал это. Однако на клавиатуре 2.3.4 (API 10) показана реализация этой функции:
Очень хотелось бы выяснить, как это делается ИТ, но это нигде в методе onDraw()
, который я могу видеть, что заставляет меня думать, что он написан за пределами элемента KeyboardView. Однако я не могу найти файл layout
, используемый для отображения элемента KeyboardView на встроенной клавиатуре. Если кто-нибудь знает, где его найти, возможно, это даст мне ключ, который мне нужен.
Изменить 4: Перемещенная клавиша Предварительный просмотр здесь, так как он слегка не соответствует теме:
Как отключить окно предварительного просмотра клавиатуры SoftKeyboard?