Ответ 1
Вы можете сделать что-то проще. Добавьте это в LinearLayout (или любой другой макет, который является корнем):
<LinearLayout
...
android:focusable="true"
android:focusableInTouchMode="true"
...
/>
У меня есть приложение с элементом EditText
на главном экране.
Это означает, что при загрузке приложения появляется стандартная программная клавиатура.
Я хотел бы иметь возможность скрывать клавиатуру при загрузке,
поэтому он не отображается, пока я не коснусь представления EditText
.
Как мне управлять этим?
Вы можете сделать что-то проще. Добавьте это в LinearLayout (или любой другой макет, который является корнем):
<LinearLayout
...
android:focusable="true"
android:focusableInTouchMode="true"
...
/>
В AndroidManifest.xml
:
<activity android:name="com.your.package.ActivityName"
android:windowSoftInputMode="stateHidden" />
Подробнее о windowSoftInputMode
можно найти здесь.
Этот параметр будет скрывать мягкую клавиатуру, когда пользователь вводит новую активность (даже если элемент управления EditText получает фокус). Мягкая клавиатура будет отображаться только тогда, когда пользователь нажимает на элемент управления редактированием.
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
Это будет скрыто во всех ситуациях.
EditText edtView=(EditText)findViewById(R.id.editTextConvertValue);
edtView.setInputType((InputType.TYPE_NULL);