getWindow().setSoftInputMode nicht wie erwartet funktioniert
In mein Android-Projekt möchte ich die softInputMode
für nur ein fragment zu sein adjustPan
fügen Sie folgende Zeile in meinem manifest (innerhalb der Aktivität) funktioniert wie erwartet:
android:windowSoftInputMode="adjustPan"
aber diese Zeilen in mein fragment nichts zu tun:
@Override
public void onResume() {
super.onResume();
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
}
@Override
public void onPause() {
super.onPause();
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_UNSPECIFIED);
}
irgendwelche Ideen, warum das so ist und was getan werden könnte, zu beheben?
- Hast du die Lösung
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie auch, stellen Sie das android:windowSoftInputMode="adjustPan" in Ihrem Manifest. Ich weiß, es sieht redundant, um die soft-input-Modus in dem manifest und in Ihrem code, aber das ist der einzige Weg, es funktionierte für mich.
Bestimmen Sie die soft-input-Modus für die Aktivität, ich bin mir nicht sicher, ob es funktionieren wird, aber versuchen:
EDIT:
Nehme ich an, Sie arbeiten mit der onPause und onResume des fragments, haben yout versucht, mit dem von der übergeordneten Aktivität? Das Ergebnis könnte das gleiche du, denn einige Male sind Sie verbunden.
getWindow()
(developer.android.com/reference/android/app/Fragment.html) und Sie sind innerhalb der Aktivität.adjustPan
Verhalten nur, dass ein fragment, das nicht anhalten/fortsetzen mit Aktivität.adjustPan
option ist für. AdjustPan Pfannen das layout nach oben, um Platz zu machen für die Tastatur. Ich kann schon Steuern, wenn die Tastatur zeigt/versteckt mit kein problem. Trotzdem danke.Umsetzung in 'onCreate' - Methode Ihrer Aktivität.