переопределение клавиатуры Android по умолчанию

#android #keyboard #virtual

#Android #клавиатура #виртуальная

Вопрос:

В моем приложении, когда пользователь редактирует определенный MultiAutoCompleteTextView с помощью виртуальной клавиатуры, я хочу представить ему клавиатуру Android по умолчанию, но изменить две кнопки на ней — не их расположение, а рисунки на них (голосовой ввод и кнопки со смайликами) и их функциональность. есть ли способ сделать это без создания нового InputMethod или нового класса клавиатуры?

Ответ №1:

Ну, вы, конечно, можете создать пользовательскую программную клавиатуру, но я думаю, вам следует смириться с тем, что у вас есть в вашем сценарии. Создание нового ввода с клавиатуры для таких небольших требований действительно приведет к увеличению стоимости вашего проекта.

Ознакомьтесь с образцом SDK для SoftKeyboard для получения дополнительной информации о ее создании. Вы всегда можете определить, что ваша клавиша действия должна быть кнопкой со смайликом.

Вот пример кода непосредственно из проекта Android с открытым исходным кодом:

 <EditText
   android:id="@ id/embedded_text_editor"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:autoText="true"
   android:capitalize="sentences"
   android:maxLines="4"
   android:inputType="textShortMessage|textAutoCorrect|textCapSentences|textMultiLine"
   android:imeOptions="actionSend|flagNoEnterAction"
   android:maxLength="1000"
/>
  

обратите внимание на то, android:inputType="textShortMessage" что делает трюк и создает кнопку со смайликом в качестве кнопки действия.