Вопрос по android, keyboard – Как открыть Android-клавиатуру «? 123»

10

У меня есть EditText, который должен обрабатывать или числовой и / или алфавитный ввод в зависимости от состояния. Пользователь может ввести любой тип ввода в некоторых случаях. Я только смог открыть "Телефон" использование клавиатурыsetInputType (InputType.TYPE_CLASS_NUMBER); который работает, но не позволяет пользователю вернуться к клавиатуре QWERTY. Так как большая часть ввода действительно числовая, я бы хотел большую часть времени предоставлять пользователю клавиатуру? 123. Им нужно будет всего лишь несколько раз вернуться к QWERTY-клавиатуре.

Как я могу открыть экранную клавиатуру QWERTY для ввода в алфавитном порядке, а затем всплыть & quot;? 123 & quot; клавиатура, если она числовая? Я просто хочу сохранить шаг для пользователя, чтобы ему не приходилось каждый раз нажимать кнопку? 123 на клавиатуре QWERTY.

UpdateЭто клавиатура, которую я хотел бы видеть. Причина в том, что я хотел бы, чтобы пользователь легко переключался между алфавитным и числовым вводом. Невозможно переключиться на клавиатуру QWERTY с помощью "цифровой клавиатуры". В моем приложении числовой ввод требуется для 90% ввода, поэтому я хотел бы вывести его для удобства. Другими словами, вместо того, чтобы переключаться на цифровую клавиатуру в 90% случаев, им нужно переключаться только на QWERTY в 10% случаев.enter image description here

Призыв кinput.setRawInputType(Configuration.KEYBOARD_QWERTY); работает по-разному в Honeycomb и более поздних версиях Gingerbread (вызывает цифровую клавиатуру). На Gingerbread 2.2.3 работает так, как я хочу. Соты и 2.3.7 скриншоты клавиатуры ниже для справки. Я не знаю, почему они такие разные.

Honeycomb 3.2 keyboard for Configuration.KEYBOARD_QWERTY Gingerbread 2.3.7 keyboard for Configuration.KEYBOARD_QWERTY

Спасибо, но этот пост, похоже, касается цифровой клавиатуры. Ответ с сильным голосом гласит: "... также позволяет вводить произвольный текст". но я не вижу, где вы это делаете. На клавиатуре нет кнопки для этого. Пожалуйста, смотрите обновление по моему вопросу. Надеюсь, уточняет. wufoo
Обратите внимание, что многие телефоны будут иметь другую клавиатуру. Например, телефоны Samsung имеют Swype по умолчанию или вы можете скачать клавиатуру с маркета. Jonas
Это хорошее замечание, но пользовательская клавиатура должна реализовывать те же функциональные возможности, что и «фондовая». один. Если Android реализует метод что-то вродеinput.setRawInputType(Configuration.KEYBOARD_?123); и пользовательское приложение не поддерживает это, оно просто сломано. И это должно чувствовать себя разбитым. wufoo

Ваш Ответ

1   ответ
0

сообщение отвечает на ваш вопрос.

Вкратце добавьте это в свой код:

editText.setRawInputType(Configuration.KEYBOARD_QWERTY);
Спасибо, я попробовал это. Это только кажется, что я делаю, что я хочу на 2.2.3. На 3.2 и 2.3.7 он вызывает «цифровую клавиатуру»; а не "123" клавиатура. Хм .. wufoo

Похожие вопросы