Удалить начальный фокус текстового поля при запуске приложения? - PullRequest
2 голосов
/ 15 января 2011

У меня есть текстовое поле поиска, просмотр списка и несколько кнопок, когда приложение запускается, текстовое поле имеет фокус, поэтому оно отображает клавиатуру, блокируя половину моего экрана.Как мне это предотвратить?

Я уже пытался навести фокус на кнопку (и установить кнопку на focusable = true), но это не сработало.Единственное, что сработало, было фокусироваться на текстовом поле, но, очевидно, вы больше не получаете клавиатуру при нажатии.

Ответы [ 3 ]

4 голосов
/ 15 января 2011

Вы можете установить "фокусируемый" и "фокусируемый в сенсорном режиме" в значение true для элемента перед вашим EditText.Или хорошим способом было бы обработать его с помощью атрибута активности " Режим ввода Windows Soft * ".

3 голосов
/ 04 октября 2012

Самое простое решение этой проблемы:

Установите в родительском макете следующие атрибуты:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainLayout"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true" >

И теперь, когда действие начинается, этот макет получает фокус по умолчанию.Таким образом, текстовое поле не будет сосредоточено.

2 голосов
/ 19 марта 2015

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

android:focusableInTouchMode="true"

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...