2013-03-23 19 views
11

mam długi formularz, a gdy pojawi się klawiatura nie mogę zobaczyć dno editTextsprzewijania do miękkiej klawiatury

To jest mój xml

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" > 

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" > 

    <TextView 
     android:id="@+id/register_title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="20dp" 
     android:text="@string/register" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <TextView 
     android:id="@+id/register_username" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/register_title" 
     android:layout_centerHorizontal="true" 
     android:text="@string/username" /> 

    <EditText 
     android:id="@+id/register_edit_username" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/register_username" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="20dp" 
     android:ems="10" 
     android:inputType="text" > 
    </EditText> 

    <TextView 
     android:id="@+id/register_password" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/register_edit_username" 
     android:layout_centerHorizontal="true" 
     android:text="@string/password" /> 

    <EditText 
     android:id="@+id/register_edit_password" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/register_password" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="20dp" 
     android:ems="10" 
     android:inputType="textPassword" > 
    </EditText> 

    <TextView 
     android:id="@+id/register_confirm" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/register_edit_password" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="20dp" 
     android:text="@string/confirm" /> 

    <EditText 
     android:id="@+id/register_edit_confirm" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/register_confirm" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="20dp" 
     android:ems="10" 
     android:inputType="textPassword" > 
    </EditText> 

    <TextView 
     android:id="@+id/register_mail" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/register_edit_confirm" 
     android:layout_centerHorizontal="true" 
     android:text="@string/mail" /> 

    <EditText 
     android:id="@+id/register_edit_mail" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/register_mail" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="20dp" 
     android:ems="10" 
     android:inputType="textEmailAddress" > 
    </EditText> 

    <TextView 
     android:id="@+id/register_phone" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/register_edit_mail" 
     android:layout_centerHorizontal="true" 
     android:text="@string/phone" /> 

    <EditText 
     android:id="@+id/register_edit_phone" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/register_phone" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="20dp" 
     android:ems="10" 
     android:inputType="phone" > 
    </EditText> 

    <TextView 
     android:id="@+id/register_last_name" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/register_edit_phone" 
     android:layout_centerHorizontal="true" 
     android:text="@string/last_name" /> 

    <EditText 
     android:id="@+id/register_edit_last_name" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/register_last_name" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="20dp" 
     android:ems="10" 
     android:inputType="text" > 
    </EditText> 

    <TextView 
     android:id="@+id/register_first_name" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/register_edit_last_name" 
     android:layout_centerHorizontal="true" 
     android:text="@string/first_name" /> 

    <EditText 
     android:id="@+id/register_edit_first_name" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/register_first_name" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="20dp" 
     android:ems="10" 
     android:inputType="text" > 
    </EditText> 

    <TextView 
     android:id="@+id/register_alert_password" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/register_edit_first_name" 
     android:layout_centerHorizontal="true" 
     android:text="@string/register_alert_pwd" /> 

    <EditText 
     android:id="@+id/register_edit_alert_password" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/register_alert_password" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="20dp" 
     android:ems="10" 
     android:inputType="textPassword" > 
    </EditText> 

    <TextView 
     android:id="@+id/register_alert_password_confirm" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/register_edit_alert_password" 
     android:layout_centerHorizontal="true" 
     android:text="@string/register_alert_pwd_confirm" /> 

    <EditText 
     android:id="@+id/register_edit_alert_password_confirm" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/register_alert_password_confirm" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="20dp" 
     android:ems="10" 
     android:inputType="textPassword" > 
    </EditText> 

    <CheckBox 
     android:id="@+id/register_tou" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/register_edit_alert_password_confirm" 
     android:layout_centerHorizontal="true" 
     android:text="@string/register_tou" /> 

    <Button 
     android:id="@+id/register_valid" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/register_tou" 
     android:layout_centerHorizontal="true" 
     android:text="@string/confirm" /> 

</RelativeLayout> 

</ScrollView> 

ja również zaktualizować działalność w manifest

<activity 
     android:name="my name" 
     android:label="@string/title_activity_register" 
     android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" 
     android:windowSoftInputMode="stateVisible|adjustResize" > 
</activity> 

We wszystkich innych stanowisk widziałem roztwór

android:windowSoftInputMode="stateVisible|adjustResize" 

Ale to nie działa w moim przypadku

Dzięki

Edytuj

Aktualizacja do mojego ostatniego kodu

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/register" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fillViewport="true" > 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/register_title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:layout_marginBottom="20dp" 
     android:text="@string/register" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <TextView 
     android:id="@+id/register_username" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:text="@string/username" /> 

    <EditText 
     android:id="@+id/register_edit_username" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:layout_marginBottom="20dp" 
     android:ems="10" 
     android:inputType="text" > 
    </EditText> 

    <TextView 
     android:id="@+id/register_password" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:text="@string/password" /> 

    <EditText 
     android:id="@+id/register_edit_password" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:layout_marginBottom="20dp" 
     android:ems="10" 
     android:inputType="textPassword" > 
    </EditText> 

    <TextView 
     android:id="@+id/register_confirm" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:layout_marginBottom="20dp" 
     android:text="@string/confirm" /> 

    <EditText 
     android:id="@+id/register_edit_confirm" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:layout_marginBottom="20dp" 
     android:ems="10" 
     android:inputType="textPassword" > 
    </EditText> 

    <TextView 
     android:id="@+id/register_mail" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:text="@string/mail" /> 

    <EditText 
     android:id="@+id/register_edit_mail" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:layout_marginBottom="20dp" 
     android:ems="10" 
     android:inputType="textEmailAddress" > 
    </EditText> 

    <TextView 
     android:id="@+id/register_phone" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:text="@string/phone" /> 

    <EditText 
     android:id="@+id/register_edit_phone" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:layout_marginBottom="20dp" 
     android:ems="10" 
     android:inputType="phone" > 
    </EditText> 

    <TextView 
     android:id="@+id/register_last_name" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:text="@string/last_name" /> 

    <EditText 
     android:id="@+id/register_edit_last_name" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:layout_marginBottom="20dp" 
     android:ems="10" 
     android:inputType="text" > 
    </EditText> 

    <TextView 
     android:id="@+id/register_first_name" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:text="@string/first_name" /> 

    <EditText 
     android:id="@+id/register_edit_first_name" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:layout_marginBottom="20dp" 
     android:ems="10" 
     android:inputType="text" > 
    </EditText> 

    <TextView 
     android:id="@+id/register_alert_password" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:text="@string/register_alert_pwd" /> 

    <EditText 
     android:id="@+id/register_edit_alert_password" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:layout_marginBottom="20dp" 
     android:ems="10" 
     android:inputType="textPassword" > 
    </EditText> 

    <TextView 
     android:id="@+id/register_alert_password_confirm" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:text="@string/register_alert_pwd_confirm" /> 

    <EditText 
     android:id="@+id/register_edit_alert_password_confirm" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:layout_marginBottom="20dp" 
     android:ems="10" 
     android:imeOptions="actionSend" 
     android:inputType="textPassword" > 
    </EditText> 

    <CheckBox 
     android:id="@+id/register_tou" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:text="@string/register_tou" /> 

    <TextView 
     android:id="@+id/register_condition" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:layout_marginBottom="20dp" 
     android:text="@string/register_read_tou" /> 

    <Button 
     android:id="@+id/register_valid" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:text="@string/confirm" /> 
</LinearLayout> 

</ScrollView> 
+0

użytkowania adjustPan zamiast adjustResize. – Jitendra

+0

Dzięki, ale zawsze mam ten sam problem. – Ajouve

+0

Jeśli masz długą formę, powinieneś mieć ją w ScrollView na początek. Bez gwarancji, że użytkownik będzie miał wysokość ekranu, aby zobaczyć to wszystko, z klawiaturą lub bez niej. Jeśli to zrobisz, będą mogli przewinąć w dół, gdy pojawi się klawiatura. – thomas88wp

Odpowiedz

0

Spróbuj dodać do widoku przewijania:

android:fillViewport="true" 

i myślę, że w Manifeście będzie działać prawidłowo następujące ustawienie:

android:windowSoftInputMode="adjustResize" 

.

+0

Dodaję Android: fillViewport = "true" do mojego widoku przewijania i aktualizuję moją aktywność w moim manifeście odrobinę tylko adjustResize ale ja alwayd mam ten sam problem, nie mogę przewinąć do dołu strony to hide przez klawiaturę i I nie można przewinąć nad klawiaturą: – Ajouve

+0

@ czy rozwiązałeś to? mam ten sam problem? – theiOSDude

+0

@ burrows111 Tak bez korzystania z pełnego ekranu – Ajouve

1

Można spróbować tego w pliku manifestu:

android:windowSoftInputMode="adjustUnspecified" 

że mam w mojej aplikacji, która jest w ScrollView i to działa na mnie. Myślę, że to może być również wartość defertytyczna dla windowSoftInputMode, ale nie jestem w 100% pewna.

Edytuj: Tutaj jest początek mojego ScrollView, bez zmian.

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MainActivity" 
    android:id="@+id/testing"> 

Może spróbuj umieścić swój wzrost LinearLayout jak match_parent również.

+0

Możesz także rozważyć zmianę 'fill_parent''s na' match_parent'. 'fill_parent' został wycofany w API 8 i zastąpiony przez' match_parent'. – TronicZomB

+0

Zaktualizuję mój manifest i zmienię fill_parent na match_parent, ale mam ten sam wynik: – Ajouve

+0

@ant Zaktualizowałem swoją odpowiedź. – TronicZomB

Powiązane problemy