Как убрать клавиатуру с экрана Android

Обновлено: 01.07.2024

После записи в поле редактирования и нажатия кнопки я хочу скрыть виртуальную клавиатуру при касании вне клавиатуры. Я предполагаю, что это простой фрагмент кода, но где я могу найти его пример?

Что делать, если у вас есть только один EditText и несколько кнопок, таких как флажки и переключатели? Единственное место, где вам нужна клавиатура, находится в единственном EditText. Как вы регистрируетесь, чтобы знать, что было выбрано/нажато что-то еще, чтобы скрыть клавиатуру?

Я чувствую себя глупо. Я не могу скрыть клавиатуру в ICS. Перепробовал здесь все методы и их комбинации. Ни за что. Метод показать это работает, но я не могу скрыть его независимо от того, какой токен окна, скрыть флаги, настройки манифеста или свечи каким-либо святым. При отображении клавиатуры я всегда вижу это: I/LatinIME(396): указан InputType.TYPE_NULL W/LatinIME(396): непредвиденный класс ввода: inputType=0x00000000 imeOptions=0x00000000

По мере увеличения размера и разрешения экрана устройств скрытие виртуальной клавиатуры становится менее важным.

123 Ответы 123

Вы можете заставить Android скрыть виртуальную клавиатуру с помощью InputMethodManager, вызова hideSoftInputFromWindow и передачи маркера окна, содержащего ваш сфокусированный вид.

Это заставит клавиатуру быть скрытой во всех ситуациях. В некоторых случаях вы захотите передать InputMethodManager.HIDE_IMPLICIT_ONLY в качестве второго параметра, чтобы убедиться, что вы скрываете клавиатуру только тогда, когда пользователь явно не заставлял ее появляться (удерживая меню).

Примечание. Если вы хотите сделать это в Kotlin, используйте: context?.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager

Синтаксис Котлина

теперь для getSystemService() требуется Context и класс serviceClass . Для контекста я могу вызвать requiredContext, но как насчет класса обслуживания?

@capo11 Я пробовал с Application.Context.getSystemService(), поэтому мне не нужен класс обслуживания, но он не работает

Чтобы прояснить это безумие, я хотел бы начать с извинений от имени всех пользователей Android за совершенно нелепое обращение Google с программной клавиатурой. Причина, по которой существует так много разных ответов на один и тот же простой вопрос, заключается в том, что этот API, как и многие другие в Android, ужасно спроектирован. Я не могу придумать вежливого способа выразить это.

Я хочу скрыть клавиатуру. Я ожидаю предоставить Android следующий оператор: Keyboard.hide() . Конец. Спасибо большое. Но у Андроида есть проблема. Вы должны использовать InputMethodManager, чтобы скрыть клавиатуру. Хорошо, хорошо, это API Android для клавиатуры. НО! У вас должен быть контекст, чтобы получить доступ к IMM. Теперь у нас есть проблема. Я могу захотеть скрыть клавиатуру от статического или служебного класса, который не использует или не нуждается в каком-либо Context . или И НАМНОГО хуже, IMM требует, чтобы вы указали, от какого вида (или, что еще хуже, от какого окна) вы хотите скрыть клавиатуру.

Вот почему скрыть клавиатуру так сложно. Уважаемый Google: когда я ищу рецепт торта, на Земле нет ни одного поставщика рецептов, который отказался бы предоставить мне рецепт, если я сначала не отвечу, КЕМ будет съеден торт И где он будет съеден !!< /p>

Эта грустная история заканчивается неприглядной правдой: чтобы скрыть клавиатуру Android, вам потребуется предоставить 2 формы идентификации: Контекст и либо Представление, либо Окно .

Я создал статический служебный метод, который может ОЧЕНЬ хорошо выполнять свою работу, если вы вызываете его из Activity .

Имейте в виду, что этот служебный метод работает ТОЛЬКО при вызове из действия! Приведенный выше метод вызывает getCurrentFocus целевого действия, чтобы получить правильный токен окна.

Но предположим, вы хотите скрыть клавиатуру от EditText, размещенного в DialogFragment? Вы не можете использовать описанный выше метод для этого:

Это не сработает, потому что вы будете передавать ссылку на активность хоста фрагмента, которая не будет иметь сфокусированного управления, пока фрагмент отображается! Ух ты! Итак, чтобы скрыть клавиатуру от фрагментов, я прибегаю к более низкоуровневому, более распространенному и уродливому:

Ниже приведена дополнительная информация, полученная в результате потраченного времени на поиски этого решения:

О окнеSoftInputMode

Есть еще один спорный момент, о котором следует помнить. По умолчанию Android автоматически назначит начальный фокус первому EditText или фокусируемому элементу управления в вашей Activity. Отсюда естественно следует, что InputMethod (как правило, программная клавиатура) будет реагировать на событие фокуса, показывая себя. Если атрибут windowSoftInputMode в AndroidManifest.xml имеет значение stateAlwaysHidden , он указывает клавиатуре игнорировать этот автоматически назначенный начальный фокус.

Невероятно, но ничего не делает, чтобы предотвратить открытие клавиатуры при касании элемента управления (если элементу управления не назначен focusable="false" и/или focusableInTouchMode="false").По-видимому, параметр windowSoftInputMode применяется только к автоматическим событиям фокусировки, а не к событиям фокусировки, вызванным событиями касания.

Поэтому stateAlwaysHidden действительно ОЧЕНЬ неудачно назван. Возможно, вместо этого его следует называть ignoreInitialFocus.

ОБНОВЛЕНИЕ: больше способов получить токен окна

Если сфокусированного представления нет (например, это может произойти, если вы только что изменили фрагменты), есть другие представления, которые предоставят полезный маркер окна.

Это альтернативы приведенному выше коду if (view == null) view = new View(activity); Они не относятся явно к вашей деятельности.

Внутри класса фрагмента:

Данный фрагмент фрагмента в качестве параметра:

Начиная с основного содержания:

ОБНОВЛЕНИЕ 2. Снимите фокус, чтобы клавиатура не отображалась снова, если вы открываете приложение в фоновом режиме

Недавно после обновления программного обеспечения/прошивки я заметил, что на моем смартфоне Samsung Galaxy внезапно появился маленький значок "Клавиатура" в верхней панели уведомлений всякий раз, когда я что-то набираю в любом приложении.

Например, если я начинаю печатать в WhatsApp, Сообщениях, Заметках или любом другом приложении, мобильный телефон сразу же начинает отображать крошечный значок клавиатуры в строке уведомлений (или строке состояния). На следующем снимке экрана показан значок клавиатуры, присутствующий на панели уведомлений при вводе текста в приложении Notes:

Хотя из-за добавления этого значка клавиатуры проблем не возникает, но иногда этот значок может раздражать некоторых людей, особенно тех, кто любит чистый и лаконичный пользовательский интерфейс.

Я обнаружил, что значок клавиатуры добавляется функцией «Виртуальная клавиатура», присутствующей в системе Android. Это показано, чтобы позволить пользователю выбрать метод ввода, например голосовой ввод Google, клавиатуру Samsung и т. д.

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

Если вам не нравится, что новый значок клавиатуры случайно отображается на панели уведомлений вашего мобильного телефона Android, следующие шаги помогут вам отключить или удалить значок с панели уведомлений:

<р>1. Откройте любое приложение, например «Сообщения», и начните печатать. Значок клавиатуры появится на панели уведомлений.

<р>2. Проведите вниз по панели уведомлений, и вы увидите следующее уведомление, связанное со значком клавиатуры:

Выберите метод ввода

Choose_Input_Method_Android_System_Notification_Mobile_Phone.jpg

<р>3. Нажмите и удерживайте (длительное нажатие) на уведомлении, и вы получите кнопку-переключатель, чтобы отключить уведомление. Установите переключатель в положение OFF, т. е. отключите его.

Последнее нажатие на кнопку «Сохранить», и значок клавиатуры исчезнет навсегда.

Теперь введите что-нибудь в любом приложении, и значок клавиатуры больше не будет отображаться на панели уведомлений.

ПРИМЕЧАНИЕ. Существует еще один способ отключить значок клавиатуры, если вы не можете использовать вышеупомянутый метод:

<р>1. Откройте экран «Все приложения» или откройте страницу настроек на своем мобильном телефоне.

<р>2. Теперь коснитесь поля поиска, введите Система Android и нажмите кнопку поиска, чтобы найти термин.

<р>3. Вы увидите следующие два результата, перечисленные в разделе «Информация о приложении» в результатах поиска:

  • Веб-представление системы Android
  • Система Android

Searching_Android_System_App_Android_Mobile_Phone.jpg

<р>4. Нажмите на систему Android, откроется страница информации о приложении системы Android. Нажмите на опцию «Уведомления». Теперь найдите параметр «Виртуальная клавиатура», указанный на странице. Параметр должен быть внизу списка.

Теперь установите переключатель рядом с виртуальной клавиатурой в положение ВЫКЛ.

Disable_Virtual_Keyboard_Notification_Android_System_App_Smartphone.jpg

Вот и все. Это навсегда удалит значок клавиатуры из панели уведомлений на вашем мобильном телефоне.

Об авторе: Вишал Гупта (также известный как VG) получил награду Microsoft MVP (Самый ценный профессионал). Он имеет степень магистра компьютерных приложений (MCA). Он написал несколько технических статей для популярных газет и журналов, а также участвовал в технических шоу на различных телеканалах.

Комментарии

ПРИМЕЧАНИЕ. Старые комментарии были удалены, чтобы сократить нагрузку на базу данных.

Как установить 12-часовой формат, AM/PM и текущую секунду на экране блокировки Windows 10?
Заранее спасибо за ответ.

Что мне больше всего нравится в Android TV, так это то, что вы можете перемещаться по экрану, используя только пульт от телевизора.

Иногда было бы неплохо иметь полноразмерную клавиатуру, особенно когда вы просматриваете веб-страницы или вводите пароль Wi-Fi.

Проблема в том, что экранная клавиатура по-прежнему занимает половину экрана, даже если вы используете внешнюю клавиатуру.

В этой статье я покажу вам, как быстро отключить экранную клавиатуру Android TV и запретить ей скрывать половину экрана.

Как отключить клавиатуру Android TV

Android TV, как и чистая ОС Android, позволяет настраивать раскладку виртуальной клавиатуры, которую вы видите на экране.

Большинство из нас просто изменит ее с QWERTY на алфавитную или, может быть, на клавиатуру с большими кнопками.

Но есть приложение под названием Null Keyboard, которое позволит вам полностью отключить или скрыть клавиатуру с помощью того же процесса.

Клавиатура Null предназначена для чистого Android, а не для Android TV, поэтому ее нет в магазине Google Play. Однако вы можете найти его на Aptoide TV, так что это не проблема.

Если вы не слышали об Aptoide TV или вам нужно освежить знания о том, как его установить, вам следует ознакомиться с моей статьей, в которой я пошагово покажу вам, как загрузить неопубликованное приложение Aptoide TV на приставку Android TV и получить доступ до тысяч приложений, которых нет в Google Play Store.

Скачать нулевую клавиатуру


В Aptoide TV просто нажмите на значок увеличительного стекла, чтобы найти Null Keyboard. Приложение, которое мы ищем, должно быть первым в списке.

После того, как вы нажмете значок "Нулевая клавиатура", нажмите "Установить", чтобы начать процесс установки.



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

Когда вы увидите этот экран, нажмите «Готово» и выйдите из Aptoide TV.

Включить нулевую клавиатуру


Когда вы вернетесь на главный экран, нажмите на значок шестеренки, чтобы открыть меню настроек. Если у вас нет значка на главном экране, вы можете найти значок меню «Настройки» в ящике приложений или в меню «Все приложения».


Открыв меню настроек, нажмите «Настройки устройства».


Далее нажмите Клавиатура.

Здесь вы можете увидеть, какая виртуальная клавиатура активна для вашего устройства Android TV. Поскольку у меня подключена внешняя клавиатура, у меня также есть меню «Физическая клавиатура».


Нажмите «Управление клавиатурами», чтобы продолжить.

Появится список всех виртуальных клавиатур, установленных на вашем устройстве. Кроме того, здесь вы можете изменить различные раскладки клавиатуры на разные языки или даже на определенные варианты использования одного и того же языка.

Здесь мы просто включим нулевую клавиатуру, щелкнув переключатель рядом с ней.


Когда вы это сделаете, вы увидите окно с предупреждением.

Поскольку это стороннее приложение, Google хочет убедиться, что вы осведомлены о потенциальных рисках.

Нажмите "ОК", чтобы продолжить, затем вернитесь в меню "Клавиатура".

Установите активную виртуальную клавиатуру



На этот раз мы собираемся щелкнуть меню «Текущая клавиатура».

Здесь вы можете выбрать, какая виртуальная клавиатура будет активна для вашего устройства Android.

Нажмите на пустую клавиатуру, чтобы продолжить.


Теперь всякий раз, когда вы вводите текст в поле ввода, вы не будете видеть экранную клавиатуру. Null Keyboard эффективно скрывает его на вашем Android TV.

Как видно на этом изображении, я ввожу текст в поле поиска с помощью беспроводной клавиатуры, а клавиатуры на экране нет!

Включение экранной клавиатуры

Чтобы снова включить виртуальную клавиатуру, просто вернитесь в меню "Клавиатура" и снова переключитесь на Gboard или Leanback Keyboard, в зависимости от того, что вы предпочитаете.

Последние записи

NVIDIA Shield TV предлагает широкий выбор игр, которые можно загрузить из Google Play Store. Лично это обычно приводит к тому, что игры собирают виртуальную пыль, до которой я никогда не доберусь.

Если вы достигли определенного возраста, вы помните господство Sony в области электроники высокого класса. Если вы хотели лучший телевизор, это обычно означало покупку Sony. Однако на протяжении почти двух десятилетий Samsung была такой.

Обо мне

Привет! Меня зовут Тим ​​Уэллс, и добро пожаловать в Новости Android TV! Еще в 2013 году я купил свою первую приставку Android TV и с тех пор пользуюсь телевизионными приставками и Android TV. На этом сайте я делюсь всеми советами и приемами, которые я изучил за эти годы, так что вы не захотите их пропустить.


Прочитайте мою историю, сообщите об этом объявлении


сообщить об этом объявлении

С брайлевской клавиатурой TalkBack вы можете использовать 6 пальцев на экране для ввода 6-точечного шрифта Брайля.

Клавиатура TalkBack для Брайля доступна на унифицированном английском языке Брайля, испанском и арабском языках.

Важно! Чтобы использовать брайлевскую клавиатуру TalkBack, включите TalkBack и отключите увеличение.

Шаг 1. Настройте брайлевскую клавиатуру TalkBack

  1. Откройте меню TalkBack.
    • На устройствах с поддержкой жестов несколькими пальцами: касание тремя пальцами. Или одним движением проведите вниз, а затем вправо.
    • На устройствах без поддержки нескольких пальцев (до обновленного Android R с TalkBack 9.1): одним движением проведите вниз, а затем вправо.
  2. Выберите Настройки TalkBack. Клавиатура Брайля. Настроить клавиатуру Брайля.
  3. В текстовом поле выберите "Настройки".
  4. Включите брайлевскую клавиатуру TalkBack.
  5. Откройте приложение, которое вы можете ввести, например Gmail или Google Keep.
    • Клавиатура Брайля несовместима с Документами Google.
  6. Чтобы открыть клавиатуру, переместите фокус на текстовое поле и дважды коснитесь его.
  7. Выберите «Переключить метод ввода» или «Следующий язык» .
    • Если вы не используете Gboard, у вас могут быть другие варианты. Эта опция обычно находится внизу справа.
  8. Выберите брайлевскую клавиатуру TalkBack.

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

Шаг 2. Выберите режим клавиатуры

Важно! По умолчанию клавиатура Брайля TalkBack переключается между режимами в зависимости от ориентации вашего устройства.

Чтобы отключить настройку по умолчанию:

Режим без экрана позволяет печатать, когда экран устройства обращен от вас.

Чтобы открыть обучающее видео без экрана:

  1. Держите телефон экраном от себя.
  2. Проведите тремя пальцами вверх по экрану.
  3. В списке параметров клавиатуры Брайля выберите Открыть учебник.

Чтобы использовать экранный режим:

  1. Поверните телефон экраном от себя.
  2. Поверните телефон горизонтально в горизонтальное положение.
    • Ваша левая рука держит телефон за верхнюю часть. Правая рука держит телефон за нижнюю часть, где находится USB-порт.
  3. Держите телефон мизинцем и большим пальцем. Наведите на экран три средних пальца.
  4. Наведите указательный палец левой руки на точку 1.
  5. Попробуйте эти буквы:
    • О: Указательным пальцем левой руки коснитесь точки 1.
    • B: Указательным и средним пальцами левой руки коснитесь точек 1 и 2.
    • C: Указательным и левым указательным пальцами коснитесь точек 1 и 4.
    • D: левым указательным, правым указательным и правым средним пальцами коснитесь точек 1, 4 и 5.

Совет. Если положение точек отключено, вы можете настроить его. Удерживайте 6 пальцев на экране в течение 3 секунд, пока не услышите «Положение точки обновлено». Клавиатура Брайля запоминает позиции для режима без экрана и настольного режима отдельно.

В настольном режиме вы можете печатать на плоских поверхностях. Когда ваше устройство обнаруживает плоскую поверхность, оно переходит из режима без экрана в настольный режим. Этот режим может быть полезен, если вы знакомы с машинкой Брайля Perkins или предпочитаете печатать на ней.

  1. Положите устройство на плоскую поверхность, пока не появится надпись "Настольный режим".
    • Расположите устройство так, чтобы разъем для зарядки был слева.
  2. Слева направо точки располагаются как 3, 2, 1, 4, 5, 6. Поднесите руки к устройству так, чтобы три средних пальца находились на экране.
  3. Наведите указательный палец левой руки на точку 1.
  4. Попробуйте эти буквы:
    • О: Указательным пальцем левой руки коснитесь точки 1.
    • B: Указательным и средним пальцами левой руки коснитесь точек 1 и 2.
    • C: Указательным и левым указательным пальцами коснитесь точек 1 и 4.
    • D: левым указательным, правым указательным и правым средним пальцами коснитесь точек 1, 4 и 5.

Совет. Если положение точек отключено, вы можете настроить его. Удерживайте 6 пальцев на экране в течение 3 секунд, пока не услышите «Положение точки обновлено». Клавиатура Брайля запоминает позиции для режима без экрана и настольного режима отдельно.

Использование жестов на брайлевской клавиатуре TalkBack

Важно! При использовании клавиатуры Брайля другие жесты TalkBack недоступны. Чтобы закрыть брайлевскую клавиатуру и использовать другие жесты TalkBack, проведите двумя пальцами вниз.

Попробуйте эти жесты

  • Удалить письмо. Проведите по экрану влево.
  • Удалить слово. Проведите двумя пальцами влево.
  • Добавьте пробел. Проведите вправо.
  • Начать новую строку: проведите двумя пальцами вправо
  • Отправить текст: проведите двумя пальцами вверх.

Чтобы получить список доступных жестов:

  1. На экране проведите тремя пальцами вверх.
  2. Откройте список параметров клавиатуры Брайля.
  3. Выберите Просмотреть все жесты.

Совет. На некоторых устройствах, если вы находитесь в приложении "Сообщения" и закрываете брайлевскую клавиатуру TalkBack, кнопка "Назад" не работает. Чтобы продолжить, вернитесь на главный экран.

Управление клавиатурой Брайля TalkBack

Скрыть клавиатуру

  • Чтобы скрыть брайлевскую клавиатуру TalkBack, проведите двумя пальцами вниз.
  • Чтобы переключиться на исходную клавиатуру, проведите тремя пальцами вниз.

Добавить или удалить языки

Вы можете выбрать языки для использования с клавиатурой Брайля.

  1. Откройте меню TalkBack.
    • На устройствах с поддержкой жестов несколькими пальцами: касание тремя пальцами. Или одним движением проведите вниз, а затем вправо.
    • На устройствах без поддержки нескольких пальцев (до обновленного Android R с TalkBack 9.1): одним движением проведите вниз, а затем вправо.
  2. Выберите настройки TalkBackКлавиатура БрайляЯзыки ввода.
  3. Отметьте нужные языки.

Переключить язык

Если вы выберете несколько языков, вы можете переключаться между ними в меню клавиатуры Брайля.

  1. При включенной брайлевской клавиатуре TalkBack проведите тремя пальцами вверх.
  2. Выберите Изменить язык ввода.
    • Этот параметр доступен только в том случае, если вы отметите несколько языков.
  3. Выберите язык.

Переключение между шрифтом Брайля 1 и 2 класса

Брайль 1 класса может быть полезен, если вы новичок в использовании шрифта Брайля. Уровень 2 может быть полезен для более продвинутого набора сокращенного шрифта Брайля.

Читайте также: