Я разрабатываю программную клавиатуру для Android (соответственно пытаюсь;)), и, поскольку я новичок в Android и Java, это не так просто.Основная клавиатура работает (благодаря примерам в Интернете), и теперь я пытаюсь создать своего рода «всплывающее окно» (с новыми кнопками), которое вызывается при нажатии и удерживании кнопки в течение определенного времени (время должно бытьоткрыть для настройки).Тогда нужно уметь перетаскивать палец на новые кнопки.Например: вы держите e, а затем перетащите палец на é и т. Д.
Моя первая попытка была использовать что-то вроде:
<Key android:codes="101" android:keyLabel="e"
android:popupKeyboard="@layout/popup"
android:popupCharacters="eéè€"
/>
, где popup.xml содержит отдельную базовую структуру клавиатуры:
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
android:keyWidth="10%p"
android:horizontalGap="0px"
android:verticalGap="0px"
android:keyHeight="30px" />
Но есть несколько недостатков:
- Я не знаю, как настроить положение и внешний вид всплывающего окна
- палец должен бытьподнял, чтобы нажать новую кнопку (странное поведение)
- время, которое пользователь должен ждать, пока не появится всплывающее окно, кажется, исправлено
Как бы вы решили эту проблему?Невидимый ряд клавиш (абсолютная позиция), который устанавливается видимым при нажатии кнопки в течение определенного времени (отслеживается события движения и т. Д.)?Знаете ли вы какие-нибудь учебные пособия, которые дают информацию об этой концепции «нажатие-удержание-перетаскивание» в клавиатурах?Пример кода был бы очень полезен.Я просмотрел проект LatinIME git, но, к сожалению, он ошеломляющий: /