Obtenir la hauteur du clavier virtuel Android
Comment puis-je obtenir la hauteur du clavier virtuel d'Android? Est-il possible?
Je cherche à obtenir à partir de la fenêtre principale, mais il me donne toute la hauteur de la demande. Mais je veux obtenir la hauteur du clavier.
Le clavier n'est pas le seul fourni par le système de décoration qui peuvent consommer de l'espace à l'écran. Que comptez-vous faire avec cette taille?
Je veux dessiner des images haut de la douce virtualkeyboard. Je développe application 2D, donc je n'utilise pas l'INTERFACE utilisateur android bibliothèque. par exemple, je veux tracer la bordure du haut du clavier
Ne pas le clavier virtuel pousser la fenêtre vers le haut? Dans ce cas, vous avez besoin d'une ligne au bas de l'écran pour dessiner une bordure supérieure (qui est mis à l'invisible jusqu'à ce que softkeyboard est activé)
Il ne pousse la fenêtre vers le haut si elle n'est pas en plein écran.
Je veux dessiner des images haut de la douce virtualkeyboard. Je développe application 2D, donc je n'utilise pas l'INTERFACE utilisateur android bibliothèque. par exemple, je veux tracer la bordure du haut du clavier
Ne pas le clavier virtuel pousser la fenêtre vers le haut? Dans ce cas, vous avez besoin d'une ligne au bas de l'écran pour dessiner une bordure supérieure (qui est mis à l'invisible jusqu'à ce que softkeyboard est activé)
Il ne pousse la fenêtre vers le haut si elle n'est pas en plein écran.
OriginalL'auteur Adem | 2011-05-15
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas obtenir la hauteur du clavier, mais vous pouvez obtenir la hauteur de votre point de Vue, qui est ce que vous voulez vraiment et vous recevrez les données fournies à l'onLayout appel dans la vue actuelle.
Il s'agit en fait pour les modèles android avec navigationbar?
OriginalL'auteur chrisdowney
vous pouvez utiliser cet exemple de code. il est sale solution, mais il fonctionne
INTERNAL_POINTER_META_STATE est juste un id d'identifier ce cas sources. alors, vous pouvez suivre le pointeur de l'événement sont générés par vous ou par appareil. vous devez simplement définir une valeur entière à INTERNAL_POINTER_META_STATE
Qu'est-ce que getSingletonInstrumentation() la méthode?
OriginalL'auteur Adem
Cette solution est également hacky mais de résoudre le problème (au moins pour moi).
android:windowSoftInputMode="adjustResize"
drapeau de l'activité de la balise dans le manifeste.Maintenant de l'histoire principale est dans
onGlobalLayout()
. Là, j'ai calculer la différence entre l'axe y de la temp de vue et la hauteur de vue de la racine definale de la Vue view = findViewById(R. id.de base);
vue.getViewTreeObserver().addOnGlobalLayoutListener(nouveau OnGlobalLayoutListener() {
});
OriginalL'auteur Gem
Si vous ne voulez pas
android:windowSoftInputMode="adjustResize"
dans votre application.Vous pouvez essayer quelque chose comme ceci:
OriginalL'auteur Ormei
Essayer cette
keyboardView.getKeyboard()
retournenull
De même pour moi aussi ..keyboardView.getKeyboard() renvoie la valeur null
yep... doen fonctionne pas 🙁
Pourrait ne pas être si précis, mais si vous n'avez pas besoin d'un écouteur de son mieux pour l'utiliser.
OriginalL'auteur Rider