Создание SoftKeyboard с несколькими / альтернативными символами на клавишу

Я следовал за примерами наdeveloper.android.com относительноМетоды ввода и играл сSoftKeyboard образец приложения. Вместе они дают более чем достаточно информации о создании простой клавиатуры.

Что я не вижу в API, так это возможность создавать альтернативные / несколько символов для каждой клавиши, которые доступны на стандартной клавиатуре (клавиатура LatinIME).

Изображение выше - результат длительного нажатия на клавишу «а». Когда вы долго нажимаете клавишу, можно заполнить всплывающее окно альтернативными символами.

Также можно дать всплывающую подсказку о некоторых клавишах, которая предложит пользователю нажать и удерживать клавишу, чтобы открыть всплывающее меню.

До сих пор я не нашел ни одного источника информации о том, как это достигается, надеюсь, кто-нибудь сможет дать мне преимущество, до тех пор, пока я не буду следовать исходному коду встроенной клавиатуры и посмотреть, смогу ли я провести обратный инжиниринг. Это.

Редактировать: Помогло бы еслиdeveloper.android.com ссылка на клавиатуру LatinIME не связана с изображениемОвец :) Актуальный исходный код для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?

Ответы на вопрос(6)

Ваш ответ на вопрос