2010-12-15 6 views
0

A partir des relevés, j'ai la hauteur du clavier logiciel avec la méthode onSizeChanged. Ce que je veux faire est d'afficher une liste à la place du clavier logiciel quand il est fermé, et enlever la liste quand le clavier est requis encore.Comment modifier l'affichage après l'ouverture ou la fermeture du clavier

La façon dont je le fais pour le moment est que quand un bouton est pressé, une liste sera rendue visible et le clavier sera rejeté en utilisant le InputMethodManager. Le problème dans la méthode onClick du bouton, je définis la liste pour être visible, mais l'animation de masquage du clavier est toujours en cours. Cela provoque un scintillement visible, car l'appel visible déclenche la mise en page et la liste devient visible lorsque le clavier est toujours là, repoussant les autres vues vers le haut. Après l'animation du clavier est terminée, d'autres vues deviennent visibles à nouveau, ce processus provoque un scintillement visible ...

Quelqu'un at-il des suggestions sur la façon dont je devrais aborder ce ?? En tirant mes cheveux en ce moment, puisque la définition de la liste visible pendant onLayout ou onSizeChanged ne laisse pas la liste devenir visible ...

Merci !!! Dave.

+0

La réponse sélectionnée vous a-t-elle aidé? Je pense que j'ai laissé une question similaire ici: http://stackoverflow.com/questions/35585538/hide-the-android-soft-keyboard-without-affecting-the-layout/35625311?noredirect=1#comment58936916_35625311 Comment avez-vous réussi à résoudre votre problème? – Petrakeas

Répondre

1

Vous pouvez implémenter la méthode onConfigurationChanged(Configuration) dans votre activité. De plus, pour obtenir cette méthode appelée vous devez ajouter des informations dans votre fichier manifest pour préciser dans quelles situations la méthode doit être appelée comme ça:

android:configChanges="keyboardHidden|orientation" 

Regardez here pour plus de détails.

Questions connexes