Ich habe eine vertikale Schiebeschublade am unteren Rand meiner App. Wenn sich die Softtastatur öffnet, wird die Lasche für die Schublade nach oben gedrückt, sodass sie auf der Tastatur sitzt. Ich möchte eigentlich, dass es am unteren Bildschirmrand bleibt und ausgeblendet wird, wenn die Tastatur angezeigt wird.
Ist noch jemand auf dieses Problem gestoßen? Wissen Sie, wie man es behebt?
Antworten:
Sie können einfach das
windowSoftInputMode
Flag Ihrer AktivitätadjustPan
in IhrerAndroidMainfest.xml
Datei innerhalb Ihres Aktivitäts-Tags auf ändern.Weitere Informationen finden Sie in der offiziellen Dokumentation .
quelle
Keine der Antworten hat bei mir funktioniert, aber das hat den Trick gemacht:
quelle
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
, um diesen Wert programmgesteuert einzustellenIn meinem Fall war der Grund, warum die Tasten nach oben gedrückt wurden, der, dass die Ansicht über ihnen a war
ScrollView
, und sie wurde mit den Tasten, die über der Tastatur nach oben gedrückt wurden, zusammengeklappt, unabhängig davon, welchen Wertandroid:windowSoftInputMode
ich eingestellt habe.Ich konnte meine untere Reihe von Tasten vermeiden immer von der Soft - Tastatur , indem Sie nach oben gedrückt wird
android:isScrollContainer="false"
auf die ,ScrollView
die über den Tasten sitzt.quelle
Sie können versuchen, dieses Attribut dynamisch hinzuzufügen, indem Sie den folgenden Code in die
onCreate
Methode Ihrer Aktivität einfügen :Das hat bei mir funktioniert, aber das:
nicht.
quelle
android:windowSoftInputMode="adjustPan"
in AndroidManifest.xml hinzugefügt ?getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
" in einem Fragment verwendet?FragmentActivity
) und einige Ansichten, die daran angehängt sind (die Ansichten erstrecken sich vonRelativeLayout
). In der schwierigen Sicht habe ich es so gemacht,controller.getWindow()...
wie du es gesagt hast. WerkeDiese Antworten hier haben mir nicht geholfen. Also habe ich das versucht:
Das hat wie ein Zauber funktioniert. Jetzt verschwindet der Header meiner App nicht mehr. Es ist glatter.
quelle
TabLayout
. Das Problem war behoben, als ich die Sichtbarkeit auf eingestellt hatteView.GONE
. Es könnte an der Zeit sein, mein Layout neu zu gestalten.Um dies programmgesteuert in einem Fragment durchzuführen, können Sie folgenden Code verwenden
Platziere dies in onResume ()
quelle
Für zukünftige Leser.
Ich wollte eine spezifische Kontrolle über dieses Problem, also habe ich Folgendes getan:
Blenden Sie in einem Fragment oder einer Aktivität Ihre anderen Ansichten aus (die bei aktivierter Tastatur nicht benötigt werden) und stellen Sie sie dann wieder her , um dieses Problem zu lösen:
quelle
view.post(Runnable runnable)
einzustellen , habe ich die Sichtbarkeit von dort aus verwendet und eingestellt. Es stellte sich als großartig für mich herausNur eine einzige Zeile hinzugefügt werden ...
Fügen Sie die
android:windowSoftInputMode="stateHidden|adjustPan"
erforderliche Aktivität Ihresmanifest file
.Ich wurde gerade gelöst :) :)
quelle
Fügen Sie diesen Code für Xamarin-Benutzer dem Activity-Attribut der MainActivity-Klasse hinzu.
oder Sie können diesen Code
Window.SetSoftInputMode(Android.Views.SoftInput.AdjustNothing)
zur OnCreate-Methode der MainActivity-Klasse hinzufügen.quelle
Dieser hat für mich gearbeitet
quelle
Bisher haben mir die Antworten nicht geholfen, da ich eine Schaltfläche und ein textInput-Feld (nebeneinander) unter der textView habe, die immer wieder von der Tastatur ausgeblendet wurden, aber dies hat mein Problem gelöst:
quelle
Fügen Sie der 'Aktivität' der Manifest-Datei folgenden Code hinzu.
quelle
Dieser Code funktioniert.
quelle
Dies war das Beste, was für mich funktioniert hat
Versuch es!
quelle
Nun, ich habe diese Antworten gesehen, aber in meinem Fall bin ich in das gleiche Problem geraten und habe Zuflucht durch eine sehr praktische und einfachste Lösung gefunden, bei der ein sehr kleines unschuldiges Attribut in Ihr Scrollview-Tag eingefügt wird, das sich in Ihrer XML-Datei befindet. Das ist
Viel Glück!
quelle
Dieser arbeitet für mich.
quelle
Für die Bildlaufansicht:
wenn nach dem Hinzufügen
android:windowSoftInputMode="stateHidden|adjustPan"
in Ihrem Android-Manifest und immer noch nicht funktioniert.Dies kann betroffen sein, da sich die Tastatur beim Anzeigen in einer Bildlaufansicht befindet. Wenn sich Ihre Schaltfläche / Objekte nicht in Ihrer Bildlaufansicht befinden, folgen die Objekte der Tastatur und verschieben ihre Position.
Überprüfen Sie Ihre XML-Datei, in der sich Ihre Schaltfläche befindet, und stellen Sie sicher, dass sie sich unter Ihrer Bildlaufansicht befindet und nicht außerhalb der Schaltfläche.
Hoffe das hilft. : D.
quelle
In meinem Fall musste die Tastatur ausgeblendet bleiben und kurz nach dem Klicken auf die Schaltfläche musste mein Layout angepasst werden. Deshalb habe ich diesen Befehl einfach in das Manifest eingefügt und es wurde super richtig.
quelle
Wenn Sie die Ansicht beim Öffnen der Tastatur ausblenden möchten.
Fügen Sie dies Ihrer Aktivität in Manifestdatei hinzu
quelle
Keiner von ihnen hat für mich gearbeitet, probieren Sie diesen aus
quelle
Die Größe des Hauptfensters der Aktivität wird nicht geändert, um Platz für die Softtastatur zu schaffen. Der Inhalt des Fensters wird automatisch verschoben, sodass der aktuelle Fokus nie durch die Tastatur verdeckt wird und Benutzer immer sehen können, was sie eingeben.
Dies könnte eine bessere Lösung für das sein, was Sie gewünscht haben.
quelle
Versuchen Sie dies zu verwenden:
quelle
Dieser Code kann Ihnen helfen. Verwenden Sie es in Ihrer
oncreate
Methode.quelle
Fügen Sie in Ihre Manifestdatei eine Aktivität ein, die Sie anzeigen möchten. Stellen Sie jedoch sicher, dass Sie keine Vollbildaktivität verwenden
quelle
@manifest in Ihrer Tätigkeit:
quelle
Ich habe mein Problem durch Hinzufügen gelöst
In Manifestdatei hinzufügen.
und die Recyclerviews-Einschränkung isScrollContainer auf false zu setzen.
quelle