Comment masquer Android clavier souple sur EditText
J'ai une Activité EditText des champs et des boutons comme une commodité pour ce qui normalement seraient utilisés pour renseigner ces champs. Cependant, lorsque nous voulons que l'utilisateur touche l'un de l'EditText champs de l'Android soft clavier s'affiche automatiquement. Je veux qu'elle le reste est masqué par défaut, sauf l'utilisateur de longue appuie sur le bouton menu. J'ai chercher une solution à cela et trouvé plusieurs réponses, mais pour l'instant je ne peux pas les faire travailler.
J'ai essayé ce qui suit:
1 - Dans la méthode onCreate,
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
2 - Aussi dans la méthode onCreate,
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY);
3 - et la fIn du fichier Manifest,
<activity android:name=".activityName" android:windowSoftInputMode="stateAlwaysHidden"/>
Aucune de ces méthodes de travail. Chaque fois que l'utilisateur clique sur le EditText champ, le clavier s'affiche. Je veux seulement le clavier souple à apparaître si le consentement explicite de l'utilisateur, en appuyant longuement sur la touche menu.
Pourquoi n'est-ce pas de travail?
- Essayez d'utiliser ma réponse. Peut-être l'aider de là
Vous devez vous connecter pour publier un commentaire.
Cela vous aidera à
Edit:
Pour montrer doux clavier, vous devez écrire du code suivant dans
long key press event of menu button
android:password="true"
dans votre mise en page xml oueditText.setTransformationMethod(PasswordTransformationMethod.getInstance());
dans votre activité.Vous devez ajouter l'attribut suivant pour la
Activity
dans votreAndroidManifest.xml
.J'utilise parfois un peu d'un truc à faire. J'ai mis un invisible se concentrer titulaire quelque part sur le haut de la disposition. Il serait par exemple comme ceci
avec ce style
puis dans onResume j'appellerais
Qui fonctionne très bien pour moi à partir de 1.6 à 4.x
EditText
. Il peut juste être un régulierView
avecfocusable=true
etfocusableInTouchMode=true
.Après un long temps à la recherche dans TextView classe, j'ai trouvé un moyen de prévenir le clavier s'affiche. Le truc, c'est de le cacher juste après elle apparaît, j'ai donc cherché une méthode qui est appelée après que le clavier apparaissent et de le cacher.
Mis en œuvre EditText classe
et le style
Le clavier a continué à croître, même si j'ai mis
EditorInfo.TYPE_NULL
à la vue.Aucune réponse n'a fonctionné pour moi, sauf l'idée que j'ai eu de nik431 réponse:
Le résultat de mon test:
avec
setInputType
:le clavier disparaît, mais le curseur disparaîtront également.
avec
setShowSoftInputOnFocus
:Qu'il fonctionne comme prévu.
La ligne suivante est exactement ce qu'on cherche. Cette méthode a été inclus avec
API 21
, donc cela fonctionne pourAPI 21
et au-dessus.Il semble être tout à fait une variété de façons de prévenir le clavier du système d'apparaître, à la fois par programme et dans le fichier xml. Cependant, c'est la manière qui a travaillé pour moi, tout en soutenant des API 11 appareils.
Nous allons essayer de définir les paramètres ci-dessous dans votre xml pour
EditText
si vous souhaitez masquer le softkeypad au lancement de l'activité s'il vous plaît aller à travers ce lien
Trois façons basé sur le même de la simple instruction:
un). Des résultats aussi facile que de localiser (1):
entre la configuration de n'importe quel élément précédent dans la mise en page, exemple:
si l'ensemble de votre mise en page est composée de:
ensuite, vous pouvez écrire la (1) parmi ImageView paramètres et de cela attirera android attention à l'ImageView au lieu de l'EditText.
b). Dans le cas où vous avez un autre élément précédent qu'une ImageView vous devrez peut-être ajouter (2) (1):
c). vous pouvez également créer simplement un élément vide en haut de votre point de vue éléments:
Cette alternative jusqu'à ce point, les résultats le moyen le plus simple de tout ce que j'ai vu. Espérons que cela aide...
Masquer le clavier
Montrer Clavier
dans le parent de la mise en page
Simplement Utiliser
EditText.setFocusable(false);
de l'activitéou
l'utilisation de xml
Bonjour Utiliser ce code, il est de travail de 100% pour moi
*Mais vous voulez juste cacher le clavier sur edittext cliquez donnée ci-dessous le code fonctionne, mais l'icône du clavier et de la hausse signe de dos-bouton pour créer *code Donné, c'est comme cela
Utiliser également dans le cas d'un texte-modification de l'auditeur
L'utiliser également en cas de onclick auditeur
Tout le code fonctionne, mais pour moi, le premier code est le meilleur
Simplement utiliser la méthode ci-dessous
et ajouter