Est-il possible de dire si le clavier logiciel est affiché?
est-il un moyen de savoir si le softkeyboard est montré dans une activité ou pas?
J'ai essayé
InputMethodManager manager = (InputMethodManager)
getSystemService(getApplicationContext().INPUT_METHOD_SERVICE);
manager.isActive(v)
mais est actif renvoie la valeur false uniquement avant de la première fois que le clavier est affiché, mais si le ko s'affiche, puis rejeté, est actif retourne vrai aussi.
donc, il y a une autre méthode pour vérifier cette question.
grâce
source d'informationauteur Mina Samy
Vous devez vous connecter pour publier un commentaire.
Selon cette POST
Vous ne peut pas détecter si le clavier virtuel est affiché ou pas, mais vous pouvez indirectement savoir qu'une touche de fonction du conseil est indiqué en sachant que le
View
de votre activité est redimensionnée.Imaginez que vous avez un
ListView
et en bas unEditText
vous voulez aller tout en bas de la liste lorsque le clavier virtuel est affiché lorsque l'utilisateur clique sur le EditText.Vous avez besoin pour mettre en œuvre une sous-classe de
ListView
ensuite l'utiliser dans votreListActivity
ouActivity
ouView
.Espère que cette aide
PS. "vérifier les Modifications de Configuration" ne fonctionne que pour le clavier.
Vous pouvez détecter l'état ET les coordonnées du logiciel du clavier, à l'aide de
dumpsys
commande shell.Parce que dumpsys nécessite
permission.android.DUMP
qui est une application du système d'autorisation, vous avez deux options: 1. l'utilisation d'un dispositif enracinée accorder cette autorisation. 2. remplacer le problème à l'aide deadb
comme décrit dans mon autre réponse.Maintenant, exécutez la commande suivante:
dumpsys window InputMethod | grep "mHasSurface"
pour obtenir les données que vous recherchez.C'est mon idée. Il n'est pas testée.
Veuillez vérifier les Modifications de Configuration pour votre Activité
Pour votre AndroidManifest.xml
et ce pour votre Activité classe http://developer.android.com/reference/android/app/Activity.html#onConfigurationChanged(android.content.res.Configuration)
Vous devrez @Override public méthode onConfigurationChanged(android.contenu.res.Configuration de votre Activité pour être en mesure de gérer, par exemple, ces valeurs:
hardKeyboardHidden,
clavier,
keyboardHidden
Pour toutes les valeurs possibles de vérifier http://developer.android.com/reference/android/content/res/Configuration.html
Vous y verrez quelque chose comme ceci:
Là aussi, vous serez en mesure de lire quelque chose comme ceci:
Mise à JOUR:
Ici est spécifique exemple de ce que je vous parle:
http://developer.android.com/guide/topics/resources/runtime-changes.html