2013-07-02 8 views
27

Rozważmy następujący przykład dla widoku:Android windowSoftInputMode = "adjustPan" przewijać kilka

<LinearLayout> 
    <EditText /> 
    <Button /> 
</LinearLayout> 

aw w pliku manifestu:

android:windowSoftInputMode="adjustPan" 

onfocus EditText, klawiatura programowa obejmuje przycisk tak:

enter image description here

ale ja to lubię L IKE to:

enter image description here

Jak przewijać zobaczyć trochę więcej tak, że przycisk jest widoczny?

+0

Proszę dać odpowiedź na to. –

+0

http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft: po prostu użyj 'adjustResize' atrybut – Houcine

+0

' adjustResize' może zepsuć układ na mniejszych ekranach –

Odpowiedz

-1

Czy możesz dodać pusty RelativeLayout pod przyciskami. ustaw jego android: layout_height = "50dp" lub dowolną wartość, która zaspokoi Twoje potrzeby. Używając ScrollView, zauważ, że ScrollView może mieć tylko jeden układ podrzędny.

<ScrollView > 
    <LinearLayout> 
    <EditText /> 
    <Button /> 
    <RelativeLayout 
     android:layout_height="50dp" 
     android:layout_width="match_parent" /> 
    </LinearLayout> 
</ScrollView> 
12

Właśnie znalazłem ten post i zobaczyłem, że nie otrzymał odpowiedzi. Przez wzgląd na pomaganie innym, którzy mogą przyjść wykorzystuje to w oczywisty dla aktywności

android:windowSoftInputMode="stateUnchanged|adjustResize" 

spróbować tylko jeden i sprawdzić, czy odpowiada Twoim potrzebom.

Powodzenia

+2

Musiałem już wypróbować 30 różnych kombinacji dla windowSoftInputMode przed znalezieniem tego postu. Dziękuję Ci. –

+2

"stateUnchanged | adjustResize" zmieni rozmiar okna i spróbuje utrzymać aktualnie skupiony element na ekranie. Nie będzie się starał utrzymać przycisków na ekranie. –

+0

@DotProductSoft W której sekcji Manifest powinien być własnością? –