J'ai créé une application simple Mon problème est que le scanner nécessite la mise au point sur l'entrée et que le clavier souple se présentera, ce qui n'est pas nécessaire à ce stade et a l'air un peu déroutant. P> J'ai essayé plusieurs approches trouvées sur Stackoverflow et Google pour masquer le clavier sans succès. P> Le point est de masquer le clavier uniquement sur des pages spécifiques (où Le scanner est utilisé) et est toujours disponible sur d'autres pages, où il est nécessaire. p> La page pour le code que j'utilise actuellement qui vérifie l'URL et essaie de masquer le clavier (sans effectif). Comme vous pouvez le constater, j'ai essayé plusieurs solutions mais aucune des tâches a fonctionné. P> webview code> pour le travail pour laisser les travailleurs remplir des formulaires.
À 2 points, ils doivent numériser des codes à barres (la tablette dispose d'un scanner intégré).
webview code> est intégré dans
html code> et < Code> JS code>. Donc, une solution JS pourrait fonctionner, mais je préférerais une solution réelle
java code>. P>
3 Réponses :
dans le fichier manifeste.xml écrire ci-dessous le code
<activity android:name=".activity.MainActivity" android:windowSoftInputMode="stateHidden" />
Cela ne cache-t-il pas le clavier du tout? Je veux juste le cacher sur des pages spécifiques.
Merci pour la mise à jour. Mais le problème est de ne pas vérifier l'URL (je le fais dans OnpageStarted code>, voir ci-dessus) mais pour trouver un moyen de désactiver complètement le clavier pour cette URL spécifique.
Utilisez ce
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); //hide keboard: imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0); //and for show keyboard imm.showSoftInput(myEditText, InputMethodManager.SHOW_IMPLICIT);
J'ai aussi essayé cela aussi, jetez un coup d'œil à la première ligne de commentaire de mon code. Ou fais-je manquer quelque chose?
Vous devez comprendre 1) Tout d'abord, vous devez ajouter de la page WebViewClient et lors de la modification de la page, vous pouvez obtenir une URL actuelle à par exemple: p> WebviewClient Code> Visitez Cette URL
Dépapoverrijusturlloading Code> Qui vérifiez l'URL actuelle et comparez-la avec votre URL et masquez le clavier p>
public static void forceHideKeyboard(Activity activity, EditText editText) {
try {
if (editText == null) return;
if (activity.getCurrentFocus() == null
|| !(activity.getCurrentFocus() instanceof EditText)) {
editText.requestFocus();
}
InputMethodManager imm = (InputMethodManager) activity
.getSystemService(INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
activity.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Merci pour l'aperçu. J'utilise déjà webviewClient CODE> et obtenez l'URL actuelle avec
OnpageStarted code> (voir, Mon code ci-dessus) Le problème est de masquer le clavier, je ne peux pas obtenir de MEHTOD de travailler