переопределение стандартной клавиатуры Android - PullRequest
1 голос
/ 26 декабря 2010

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

1 Ответ

3 голосов
/ 26 декабря 2010

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

Проверьте SDK Sample для 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", который делает трюк и создает кнопку смайлика в качестве кнопки действия.

...