J'ai un tiroir coulissant vertical au bas de mon application. Lorsque le clavier virtuel s'ouvre, il pousse la languette du tiroir vers le haut, de sorte qu'il se trouve au sommet du clavier. En fait, je veux qu'il reste en bas de l'écran, devenant masqué lorsque le clavier est affiché.
Quelqu'un d'autre se heurte à ce problème? Vous savez comment le réparer?
Réponses:
Vous pouvez simplement changer le
windowSoftInputMode
drapeau de votre activitéadjustPan
dans votreAndroidMainfest.xml
fichier à l'intérieur de votre balise d'activité.Consultez la documentation officielle pour plus d'informations.
la source
Aucune des réponses n'a fonctionné pour moi, mais cela a fait l'affaire:
la source
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
pour définir cette valeur par programmeDans mon cas, la raison pour laquelle les boutons ont été poussés était parce que la vue au-dessus d'eux était un
ScrollView
, et elle s'est effondrée avec les boutons poussés au-dessus du clavier, quelle que soit la valeur queandroid:windowSoftInputMode
je définissais.J'ai pu éviter que ma rangée inférieure de boutons ne soit poussée vers le haut par le clavier virtuel en définissant
android:isScrollContainer="false"
celuiScrollView
qui se trouve au-dessus des boutons.la source
Vous pouvez essayer d'ajouter cet attribut dynamiquement, en plaçant le code suivant dans la
onCreate
méthode de votre activité:Cela a fonctionné pour moi, mais cela:
n'a pas.
la source
android:windowSoftInputMode="adjustPan"
fichier dans AndroidManifest.xml?getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
" dans un fragment?FragmentActivity
) et quelques vues attachées à lui (les vues s'étendent deRelativeLayout
). Donc, dans la vue gênante, j'ai faitcontroller.getWindow()...
comme vous l'avez dit. ŒuvresCes réponses ici ne m'ont pas aidé. J'ai donc essayé ceci:
Cela a fonctionné comme un charme, maintenant l'en-tête de mon application ne disparaît pas. C'est plus lisse.
la source
TabLayout
. Le problème a disparu une fois que j'ai défini sa visibilité surView.GONE
. Il serait peut-être temps de repenser ma mise en page.Pour faire cela par programme dans un fragment, vous pouvez utiliser le code suivant
Placez ceci dans onResume ()
la source
Pour les futurs lecteurs.
Je voulais un contrôle spécifique sur ce problème, alors voici ce que j'ai fait:
À partir d'un fragment ou d'une activité, masquez vos autres vues (qui ne sont pas nécessaires lorsque le clavier est en place), puis restaurez-les pour résoudre ce problème:
la source
view.post(Runnable runnable)
et défini la visibilité à partir de là. Cela s'est avéré super pour moiUne seule ligne à ajouter ...
Ajoutez l'
android:windowSoftInputMode="stateHidden|adjustPan"
activité requise de votremanifest file
.Je viens de me résoudre :) :)
la source
Pour les utilisateurs de xamarin, ajoutez ce code à l'attribut Activity de la classe MainActivity,
ou vous pouvez ajouter ce code
Window.SetSoftInputMode(Android.Views.SoftInput.AdjustNothing)
à la méthode OnCreate de la classe MainActivity.la source
Celui-ci a fonctionné pour moi
la source
Jusqu'à présent, les réponses ne m'ont pas aidé car j'ai un bouton et un champ textInput (côte à côte) en dessous de textView qui continuait à être caché par le clavier, mais cela a résolu mon problème:
la source
Ajoutez le code suivant à «l'activité» du fichier manifeste.
la source
Ce code fonctionne.
la source
Ce fut le meilleur qui a fonctionné pour moi
Essayez!
la source
Eh bien, j'ai regardé ces réponses, mais dans mon cas, je suis tombé dans le même problème et j'ai trouvé refuge grâce à une solution très pratique et plus simple qui consiste à mettre un très petit attribut innocent dans votre balise Scrollview résidant dans votre fichier xml. C'est
Bonne chance!
la source
Celui-ci fonctionne pour moi.
la source
Pour la vue de défilement:
si après avoir ajouté
android:windowSoftInputMode="stateHidden|adjustPan"
votre manifeste Android et ne fonctionne toujours pas.Il peut être affecté car lorsque le clavier apparaît, il sera dans une vue de défilement et si votre bouton / aucun objet n'est pas dans votre vue de défilement, les objets suivront le clavier et bougeront sa position.
Vérifiez votre xml où se trouve votre bouton et assurez-vous qu'il se trouve sous votre support de défilement et non en dehors.
J'espère que cela vous aidera. :RÉ
la source
Dans mon cas, j'avais besoin que le clavier reste caché et juste après le clic du bouton, ma disposition doit être ajustée, alors j'ai juste ajouté cette commande dans le manifeste et elle est devenue très juste.
la source
Lorsque vous souhaitez masquer la vue lorsque vous ouvrez le clavier.
Ajoutez ceci dans votre activité dans le fichier manifeste
la source
Aucun d'eux n'a fonctionné pour moi, essayez celui-ci
la source
La fenêtre principale de l'activité ne sera pas redimensionnée pour laisser de la place au clavier virtuel. Au contraire, le contenu de la fenêtre sera automatiquement balayé afin que le focus actuel ne soit jamais masqué par le clavier et que les utilisateurs puissent toujours voir ce qu'ils tapent.
Cela pourrait être une meilleure solution pour ce que vous vouliez.
la source
Essayez d'utiliser ceci:
la source
Ce code peut vous aider. Utilisez-le dans votre
oncreate
méthode.la source
Inclure dans votre fichier manifeste sous l'activité que vous souhaitez afficher. Mais assurez-vous de ne pas utiliser l'activité plein écran
la source
@manifest dans votre activité:
la source
J'ai résolu mon problème en ajoutant
Dans le fichier manifeste, ajoutez.
et rendre la contrainte Recyclerviews isScrollContainer à false.
la source