Отключить полноэкранный режим редактирования для ввода с программной клавиатуры в альбомной ориентации? - PullRequest
220 голосов
/ 02 декабря 2010

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

Я предполагаю, что это может быть достигнуто с помощью метода setExtractViewShown(false) на InputMethodService, но я не могу получить доступ к экземпляру этого по умолчанию и не хочу реализовывать пользовательский метод ввода.

Android-полноэкранное редактирование

Отредактировано, чтобы добавить: представление, к которому идет ввод, не является TextView (это View с пользовательской реализацией InputConnection), поэтому android:imeOptions="flagNoExtractUi" won 'здесь не работает.

Ответы [ 11 ]

0 голосов
/ 10 июня 2018

Вы можете позвонить, чтобы скрыть программную клавиатуру и очистить фокус от окна поиска.

public void hideKeyboard(View view) {
    InputMethodManager imm = (InputMethodManager) view.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}

super.clearFocus();
...