Intereting Posts
Использование темы диалога на основе материалов с помощью AppCompat NullPointerException (@PhoneWindow: onKeyUpPanel: 1002) {main} Получите температуру батареи на Android Обновить выбранное состояние навигационного ящика после обратного нажатия Проблема производительности на пользовательском шрифте TextView OnClickListener ребенка, предотвращающий использование Android ViewPager Как создать данные курсора без получения данных из базы данных в приложении Android? Учет цели Исключение исключенного события цикла в плагине org.eclipse.ui Нет иконки приложений на ActionBar Создание потока, который отменяет вызов InputStream.read (), если прошло время «x» Как автоматически увеличить и освободить подписанный apk в Android Studio с использованием сценария Gradle Объедините покрытие jacoco от androidTest и теста Android EditText Максимальная длина Использование библиотеки Android в eclipse и переход к файлам классов вместо исходного файла, находящегося в рабочей области eclipse

Как удалить всплывающее окно автоматической фокусировки / клавиатуры при появлении экрана?

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

Как я могу убедиться, что при запуске операции фокус не будет получен, и / или панель ввода не будет поднята?

Solutions Collecting From Web of "Как удалить всплывающее окно автоматической фокусировки / клавиатуры при появлении экрана?"

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(editTextField.getWindowToken(), 0); 

или

Установить свойство активности в файле манифеста, как показано ниже

 android:windowSoftInputMode="stateHidden" 

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

 android:windowSoftInputMode="stateHidden" 

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

 getWindow().setSoftInputMode(WindowManager. LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 

onResume()

 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 

Вызовите вышеуказанный метод внутри onCreate (). Это предотвратит отображение softKeyboard, если пользователь не выбирает EditText , tapping or clicking.

Или просто добавьте android:windowSoftInputMode="stateHidden" в теге Activity в Manifest.xml

Уделите внимание другому взгляду. По умолчанию первый фокусный вид будет получать фокус при раздутии макета. Вы можете запросить фокус на другом представлении через XML:

 <TextView android:layout_width="wrap_parent" android:layout_height="wrap_content" android:text="Some other view"> <requestFocus /> </TextView> 

Это работает для любого вида.

Если вы хотите сделать это программно, вы можете использовать view.requestFocus() .

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

 <TextView ... android:focusable="true" android:focusableInTouchMode="true"> <requestFocus/> </TextView> 

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

 if(getWindow().getAttributes().softInputMode==WindowManager.LayoutParams.SOFT_INPUT_STATE_UNSPECIFIED) { getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); }