Вопрос:

Как запрограммировать клавиатуру с разделенным экраном?

android

80 просмотра

1 ответ

3 Репутация автора

Я разрабатываю приложение IME, но у меня возникают проблемы с пониманием структуры InputMethodService. Мой основной класс обслуживания расширяет InputMethodService и в onCreateInputView возвращает мой пользовательский линейный вид.

Часть, которую я не понимаю, - InputMethodService отображает представление в нижней части экрана по всей ширине. Это та часть, где мои знания не дотягивают. Я изучал Android Developer, но пока что безрезультатно.

У меня вопрос, как сделать раскладку клавиатуры?

Я вижу две возможности. Либо я могу манипулировать базовым окном, которое InputMethodService отображает в нижней части экрана с некоторым набором значений, либо мой класс должен расширять AbstractInputMethodService и отображать свой собственный пользовательский интерфейс. Последнее мне бы пришлось узнать больше.

Автор: Daniel Fagerlie Источник Размещён: 22.08.2016 08:25

Ответы (1)


0 плюса

72519 Репутация автора

Решение

Вы возвращаете пользовательское представление в onCreateInputView. В пользовательском представлении у вас есть 3 вида - левый, правый и средний. Посередине сделайте фон прозрачным. Сделайте фон корневого представления прозрачным. Это должно показать до конца.

Затем перейдите к onComputeInsets. Это контролирует, где на экране ваш вид. Скажите, что contentInset это -view.getHeight (). Это заставит его вообще не перемещать фоновое приложение при отображении клавиатуры.

Если вы хотите, чтобы промежуток между сенсорным экраном проходил через главное приложение, вы должны поиграть с сенсорными вставками.

Автор: Gabe Sechan Размещён: 22.08.2016 08:28
Вопросы из категории :
32x32