J'ai une application avec un élément EditText
sur la vue principale. Cela signifie que lorsque mon application est chargée, le clavier virtuel apparaît par défaut.
Je voudrais pouvoir masquer le clavier lors du chargement, donc il n'apparaît que lorsque je tape sur la vue EditText
.
Comment gérer cela?
Vous pouvez faire quelque chose de plus simple. Ajoutez ceci au LinearLayout (ou à toute autre disposition qui est la racine):
<LinearLayout
...
Android:focusable="true"
Android:focusableInTouchMode="true"
...
/>
Dans votre AndroidManifest.xml
:
<activity Android:name="com.your.package.ActivityName"
Android:windowSoftInputMode="stateHidden" />
Plus de détails sur windowSoftInputMode
peuvent être trouvés ici .
Ce paramètre masque le clavier virtuel lorsque l'utilisateur entre dans une nouvelle activité (même si le contrôle EditText obtient le focus). Le clavier virtuel n'apparaît que lorsque l'utilisateur clique sur le contrôle de la zone d'édition.
InputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
Cela se cachera dans toutes les situations (même lorsque EditView a le focus):
EditText editView = (EditText) findViewById(R.id.editTextConvertValue);
editView.setInputType(InputType.TYPE_NULL);