У меня есть активность с виджнем EditText
. Каждый раз, когда это действие показывает, My EditText
получают фокус и клавиатуру Android. Я не хочу этого. Я не хочу, чтобы Android-клавиатура показывалась автоматически. Как я могу сделать?Как избежать автоматического появления андроид-клавиатуры при запуске активности
ответ
Я думаю, что следующий может работать
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
Я использовал его для такого рода вещи раньше.
Попробуйте также -
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
В противном случае, объявите в деятельности манифеста файла -
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Main"
android:label="@string/app_name"
android:windowSoftInputMode="stateHidden"
>
Если вы уже используете android:windowSoftInputMode
для значения, как adjustResize
или adjustPan
, вы можете объединить два такие как:
<activity
...
android:windowSoftInputMode="stateHidden|adjustPan"
...
>
Это будет скрывать клавиатуру, когда это необходимо, но панорамируйте вид активности в случае, если клавиатура должна отображаться.
, это должен быть правильный ответ – martyglaubitz
спасибо за показ как в коде, так и в xml! Действительно, это самый правильный ответ! Тем более, что, вероятно, было 3 минуты, когда вы писали оба метода, которые сделали вас не первым ;-) – eric
Скрыть его для всех видов деятельности с использованием темы
<style name="MyTheme" parent="Theme">
<item name="android:windowSoftInputMode">stateHidden</item>
</style>
установить тему
<application android:theme="@style/MyTheme">
Попробуйте объявить его в menifest файле
<activity android:name=".HomeActivity"
android:label="@string/app_name"
android:windowSoftInputMode="stateAlwaysHidden"
>
Если вы используете API уровень 21, вы можете использовать editText.setShowSoftInputOnFocus (false);
//to hide the soft keyboard
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
Функция, чтобы скрыть клавиатуру.
public static void hideKeyboard(Activity activity) {
View view = activity.getCurrentFocus();
if (view != null) {
InputMethodManager inputManager = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
}
Скрыть клавиатуру в AndroidManifext.xml файле.
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:windowSoftInputMode="stateHidden">
Добавьте эти два свойства вашего родительского макета (например: Linear Layout, Relative Layout)
android:focusable="false"
android:focusableInTouchMode="false"
Это будет делать трюк :)
Просто Добавить в AndroidManifest.xml
<activity android:name=".HomeActivity" android:windowSoftInputMode="stateHidden">
</activity>
Это происходит, когда вы редактируете текст первый взгляд, чтобы получить Фокус, когда начинается ваша деятельность. Таким образом, вы можете надежно решить эту проблему без кода, просто установив исходный фокус на другой вид. Вы можете сделать это в XML, никакого кода не требуется.
Пример:
<Button
android:id="@+id/mybutton">
<requestFocus />
</Button>
Не работает здесь – HelloWorld
Просто проверка: вы пытались установить
@HelloWorld Можете ли вы подтвердить, что вы использовали '
Лучшее решение для меня, вставьте ваш класс
@Override
public void onResume() {
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
super.onResume();
}
@Override
public void onStart() {
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
super.onStart();
}
- 1. Как избежать появления клавиатуры при запуске FilePickerActivity
- 2. Как избежать запуска приложения после отмены автоматического обновления при запуске?
- 3. Ошибка при запуске новой активности
- 4. ANR при запуске новой активности
- 5. Белый экран при запуске активности
- 6. Android: как избежать задержки при изменении активности?
- 7. android classcastexception при запуске активности
- 8. Ошибка при запуске Android-активности
- 9. Запуск анимации при запуске активности
- 10. Исключение при запуске новой активности
- 11. Получение сбой при запуске активности
- 12. скрыть клавиатуру при запуске активности
- 13. отключить фокус при запуске активности
- 14. Новые сбои активности при запуске
- 15. Сбой приложения при запуске активности
- 16. Сбой активности Android при запуске
- 17. андроид. Autofocused textview при запуске активности
- 18. Как показать анимацию при запуске активности
- 19. Как сделать MediaController видимым при запуске активности
- 20. Как скрыть Soft Keyboard при запуске активности
- 21. Как остановить AlarmManager при запуске активности
- 22. как случайная кнопка при запуске активности
- 23. Как открыть ListPreference автоматически при запуске активности
- 24. Как notifi при запуске новой активности?
- 25. Почему OnResume вызывается при первом запуске активности
- 26. Как избежать открытия активности на Android?
- 27. Как избежать автоматического заполнения пароля
- 28. Как избежать исключения OutOfMemoryException при запуске Hadoop?
- 29. Как избежать процессов зомби при запуске команды?
- 30. Как избежать черного экрана при запуске приложения
в вашем манифесте '<деятельности андроида: windowSoftInputMode = "stateHidden" ...>' – idiottiger
возможно дубликат [ Android на экранной клавиатуре автоматически всплывает] (http://stackoverflow.com/questions/2496901/android-on-screen-keyboard-auto-popping-up) – Caleb
Как использовать вместе с 'android: windowSoftInputMode =" adjustPan " '? –