Есть ли способ ограничить мягкую клавиатуру Android, чтобы разрешить ТОЛЬКО символы эмодзи? - PullRequest
2 голосов
/ 10 июля 2020

У меня есть EditText, который может быть ТОЛЬКО ОДНИМ символом Emoji. Я добавил код и фильтр, чтобы гарантировать это, но у меня все еще есть проблема с удобством использования, потому что клавиатура появляется в НОРМАЛЬНОМ текстовом режиме. Для пользователя не очевидно, что разрешен только символ Emoji.

  <EditText
    android:id="@+id/activity_emoji"
    style="@style/Material.Widget.EditText.Light"
    android:layout_width="30dp"
    android:layout_height="wrap_content"
    android:textColor="#FF000000"
    android:text="?"
    android:clickable="true"
    android:focusable="true"
    android:focusableInTouchMode="true" />

В идеале я мог бы отключить весь ввод, кроме Emoji, но это кажется невозможным. Другой вариант - сделать так, чтобы клавиатура всплывала уже на странице Emoji, а не на обычном алфавите. Возможно ли это сделать, и если да, то как?

Мне кажется, простое решение поддерживало бы:

android:inputType="Emoji"

1 Ответ

1 голос
/ 10 июля 2020

Я добавил код и фильтр, чтобы гарантировать это

Поскольку редактору метода ввода не требуется предлагать эмодзи, у вас небольшая проблема.

У меня все еще есть проблема с удобством использования, потому что клавиатура появляется в НОРМАЛЬНОМ текстовом режиме

Многие редакторы методов ввода только имеют то, что вы считаете нормальным текстовым режимом.

Обратите внимание, что существует более 26 000 Android моделей устройств. Они поставляются с десятками, если не сотнями, предустановленных клавиатур. Пользователи также могут установить другие из Play Store, F-Droid и других мест. Никто не должен предлагать эмодзи. Я ожидал, что относительно немногие это делают, хотя те, которые есть (например, GBoard), будут наиболее широко используемыми.

Кроме того, имейте в виду, что не все Android устройства используют программные клавиатуры. Иногда это довольно постоянное состояние (например, Chromebook). Иногда это временное состояние (клавиатура Bluetooth включена, клавиатура USB подключена, подключено другое вспомогательное устройство).

Возможно ли это сделать, и если да, то как?

Нет, извини.

...