Existe-t-il un moyen dans Android de détecter si le clavier logiciel (ou logiciel) est visible à l'écran?
Je vous remercie.
Existe-t-il un moyen dans Android de détecter si le clavier logiciel (ou logiciel) est visible à l'écran?
Je vous remercie.
Il n'y a pas de moyen direct - voir http://groups.google.com/group/android-platform/browse_thread/thread/1728f26f2334c060/5e4910f0d9eb898a où Dianne Hackborn à partir de l'Android de l'équipe a répondu. Cependant, vous pouvez détecter indirectement par vérifier si la taille de la fenêtre a changé dans #onMeasure. Voir Android: Est un logiciel de clavier?.
Vous pouvez utiliser le résultat de rappel de showSoftInput () et de hideSoftInput () pour vérifier l'état du clavier. Détails complets et exemple de code sur
http://www.ninthavenue.com.au/how-to-check-if-the-software-keyboard-is-shown-in-android
Vous pouvez vous référer à cette réponse - http://stackoverflow.com/a/24105062/3629912
Cela a fonctionné pour moi à chaque fois.
adb shell dumpsys window InputMethod | grep "mHasSurface"
Il retournera vrai si le clavier logiciel est visible.
J'avais un problème similaire. Je devais réagir au bouton Entrée à l'écran (qui masquait le clavier). Dans ce cas, vous pouvez vous abonner à OnEditorAction de la vue texte avec laquelle le clavier a été ouvert - si vous avez plusieurs cases modifiables, abonnez-vous à toutes.
Dans votre activité, vous avez le plein contrôle du clavier, vous ne serez donc jamais confronté au problème, que le clavier soit ouvert ou non, si vous écoutez tous les événements d'ouverture et de fermeture.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.