487 Stimmen

Android: Wie verhindere ich, dass die Soft-Tastatur meine Ansicht nach oben schiebt?

Ich habe eine vertikale Schiebeschublade am unteren Rand meiner App. Wenn die Softtastatur geöffnet wird, schiebt sie die Registerkarte für die Schublade nach oben, so dass sie über der Tastatur sitzt. Ich möchte eigentlich, dass es am unteren Rand des Bildschirms bleibt und ausgeblendet wird, wenn die Tastatur angezeigt wird.

Ist noch jemand auf dieses Problem gestoßen? Weiß jemand, wie man es beheben kann?

4voto

Zhang Slardar Punkte 41
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

Das hier funktioniert bei mir.

3voto

MILLION GASHAW Punkte 97

Ich habe mein Problem gelöst, indem ich Folgendes hinzugefügt habe

 android:windowSoftInputMode="adjustNothing" 

In der Manifestdatei hinzufügen.

und die Recyclerviews-Beschränkung isScrollContainer auf false setzen.

android:isScrollContainer="false"

2voto

Ashish Gautam Punkte 21

Versuchen Sie, dies zu verwenden:

android:windowSoftInputMode="stateHidden|adjustPan"

2voto

Johan Fick Punkte 375

Ich habe eine Weile mit diesem Problem zu kämpfen gehabt. Einige der Lösungen funktionierten, aber einige meiner Ansichten wurden immer noch nach oben geschoben, andere nicht... Mein Problem war also nicht vollständig gelöst. Am Ende, was tat den Job war das Hinzufügen der folgenden Zeile von Code zu meinem Manifest in der Aktivität Tag...

android:windowSoftInputMode="stateHidden|adjustPan|adjustResize"

Viel Glück!

2voto

Yils Punkte 21

Für Scroll-Ansicht:

wenn nach dem Hinzufügen von android:windowSoftInputMode="stateHidden|adjustPan" in Ihrem Android-Manifest und funktioniert trotzdem nicht.

Es kann sein, weil, wenn die Tastatur erscheint, wird es in einer Scroll-Ansicht und wenn Sie Ihre Schaltfläche / alle Objekte ist nicht in Ihrem Scroll-Ansicht, dann werden die Objekte folgen der Tastatur und bewegen ihre Position.

Überprüfen Sie in Ihrer XML-Datei, wo sich Ihre Schaltfläche befindet, und vergewissern Sie sich, dass sie sich unter der Klammer der Bildlaufansicht und nicht außerhalb davon befindet.

Ich hoffe, das hilft Ihnen weiter :D

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X