122 votes

Comment éviter clavier souple en poussant ma mise en page?

J'ai un ensemble de boutons de navigation assis au fond de chaque Activité. Dans certaines activités, j'ai besoin d'une recherche textview au dessus de lui. Cependant, chaque fois que l'utilisateur tape quelque chose dans le textview, le clavier repousse toujours mes boutons de navigation, même si il ne fait pas de bloquer le textview. Il rend mon INTERFACE a l'air drôle. Comment puis-je la force de mes boutons de navigation pour rester statique, où ils sont, sans jamais être poussé par le clavier souple? J'ai essayé de définir l'Activité de l'windowSoftInputMode, mais aucune des configurations de l'aide.

Toutes les suggestions? Merci

156voto

arunsoorya Points 2711

J'ai eu le même problème et j'ai d'abord ajouté

  android:windowSoftInputMode="adjustPan"

à mon fichier de manifeste. Mais cela seul ne résout pas le problème. Ensuite, comme mentionné par Artem Russakovskii, j'ai ajouté

 android:isScrollContainer="false" 

dans le scrollview.

C'est ce qui a fonctionné pour moi.

71voto

Artem Russakovskii Points 7341

Dans mon cas, la raison pour laquelle les boutons a été poussé à la hausse a été de, parce que la vue au-dessus d'eux était un ScrollView, et il s'est effondré avec les boutons poussé vers le haut au-dessus du clavier, peu importe la valeur de android:windowSoftInputMode I a été mise.

J'ai été en mesure d'éviter fond de mon rangée de boutons à obtenir poussé à la hausse par le clavier par la mise en

android:isScrollContainer="false" 

sur l' ScrollView qui se trouve au-dessus des boutons.

63voto

Mani Khalil Points 451

Pour résoudre ce simplement ajouter "android:windowSoftInputMode="stateVisible|adjustPan" pour que l'activité dans android fichier manifeste. par exemple

6voto

Abhinav Points 10339

windowSoftInputMode permettra soit de se déplacer ou redimensionner votre activité de mise en page. Une chose que vous pouvez faire est de fixer un onFocusChanged auditeur à votre EditText et lorsque l'utilisateur sélectionne/robinets de l'EditText puis vous cacher ou de déplacer vos boutons de navigation de l'écran. Lorsque l'EditText perd le focus, alors vous pouvez mettre les boutons de navigation de retour à la fin de l'activité.

0voto

Scott Driscoll Points 550

J'ai eu le même problème, mais la définition d' windowSoftInputMode n'ont pas d'aide, et je n'ai pas envie de changer le point de vue supérieur de disposer isScrollContainer="false" parce que je voulais la faire défiler.

Ma solution a été de définir le haut lieu des outils de navigation à la place du fond. Je suis l'aide de Titane, donc je ne sais pas exactement comment cela pourrait se traduire pour android. Définition de l'emplacement des outils de navigation de vue empêché le clavier de pousser vers le haut, et au lieu couvert de la valeur liquidative des contrôles comme je le voulais.

Prograide.com

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.

Powered by:

X