Staram się używać dwóch różnych trybów dla kart. Dostępne tryby to SOFT_INPUT_ADJUST_RESIZE
i SOFT_INPUT_ADJUST_NOTHING
.
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
Powyższa linia kodu po prostu nie działa sama. Aplikacja zawsze zachowuje się w stanie ADJUST_NOTHING
. Jeśli jednak windowSoftInputMode="adjustResize"
zostanie wstawiony do <activity>
tagu w pliku AndroidManifest.xml, rozmiar okna aplikacji zostanie domyślnie zmieniony. Dodatkowo, gdy dzwonisz do następnej linii
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
będzie zachowywać się zgodnie z oczekiwaniami i nic nie będzie zmieniane.
Poprawa PS do odpowiedzi
adjustPan
iadjustResize
możesz przejść doWindowManager.LayoutParams
klasy, możesz znaleźć wiele przydatnych stałych, które mogą być użyte wsetSoftInputMode
metodzie