Показать + скрыть / переключить мягкую клавиатуру и получить то, что было напечатано

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

Моя кодовая база состоит из Activity, которое запускается, и SurfaceView, который выполняет рендеринг и сенсорный ввод (и некоторые другие классы для игрового цикла, спрайтов, звука и т. д.). Поскольку это должна быть небольшая библиотека, я не хочу возиться с XML.

Как я могу показать + скрыть / переключить клавиатуру и, получающую ее ввод?

Основы программирования на Java
Основы программирования на Java
Java - это высокоуровневый объектно-ориентированный язык программирования, основанный на классах.
Концепции JavaScript, которые вы должны знать как JS программист!
Концепции JavaScript, которые вы должны знать как JS программист!
JavaScript (Js) - это язык программирования, объединяющий HTML и CSS с одной из основных технологий Всемирной паутины. Более 97% веб-сайтов используют...
0
0
19
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Клавиатуры работают через InputConnection. Если вы сосредоточите представление в своем приложении, платформа вызовет getInputConnection для этого представления. Если представление возвращает ненулевое значение, оно отправит все данные с клавиатуры и сопоставит их с вызовами функций в InputConnection. Поэтому все, что вам нужно сделать, это переопределить эту функцию в вашем SurfaceView и вернуть пользовательский InputConnection.

InputConnection — это большой API, но наиболее важными для реализации являются commitText (отправляет строку текста с клавиатуры в представление) и deleteSurroundingText (используется для удаления). Остальные API также должны быть реализованы, но это основные.

Другие вопросы по теме