2012-09-14 20 views
12

Mam aktywność z formularzem. Ponieważ forma jest dość długa, użyłem przewijania.Dostosuj widok przewijania po podniesieniu klawiatury

Problem polega na tym, że widok przewijania nie zmienia się, gdy klawiatura jest podniesiona. Klawiatura nakłada się na ostatnią część przewijania.

Jak mogę upewnić się, że klawiatura znajduje się poniżej przewijania, a widok przewijania jest dopasowany do przestrzeni nad nim?

W międzyczasie, istnieje sposób, aby upewnić się, że przyciski "poprzedni" i "następny" są również na klawiaturze?

Odpowiedz

13

W pliku manifestu aplikacji, dodać następujące pożądany <activity /> -

android:windowSoftInputMode="stateAlwaysHidden|adjustResize|adjustPan" 
+10

Zgodnie z dokumentacją Android przy użyciu wielu „stan” lub „* *” dostosować wartości jest niezdefiniowane wyników. Powinieneś używać wartości "jeden stan", "jedna regulacja" lub "jeden stan i jedna regulacja". – Octavian

9

Trzeba dodać android: windowSoftInputMode = "adjustResize" w pliku AndroidManifest.xml.

3

jeśli używasz fragmentu, wystarczy użyć kodu, aby go kontrolować, jak poniżej

context.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

1

Dla ScrollView, chciałbym użyć następującego trybu wprowadzania miękki dla Activity w pliku AndroidManifest.xml :

android:windowSoftInputMode="adjustPan" 

To działa najlepiej dla mnie spośród innych opcji.

0

Dodaj poniżej linii kodu w oczywisty pod tagiem Aktywny

android:windowSoftInputMode="adjustResize"