2013-03-23 152 views
11

我有很長的形式,當顯示軟鍵盤我看不到底部editTexts向上滾動軟鍵盤

這是我的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> 

我也在更新我的活動清單

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

在所有其他人的帖子我看到的解決方案是

android:windowSoftInputMode="stateVisible|adjustResize" 

但它並不在我的情況作品

感謝

編輯

更新到我的最後一個代碼

<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

使用adjustPan代替adjustResize。 – Jitendra

+0

謝謝,但我總是有同樣的問題 – Ajouve

+0

如果你有一個長表格,你應該真的在ScrollView中開始。不保證您的用戶將擁有屏幕高度以查看全部內容,無論是否使用鍵盤。如果你這樣做,他們就可以在鍵盤彈出時向下滾動。 – thomas88wp

回答

0

嘗試將此添加到您的滾動視圖:

android:fillViewport="true" 

我認爲在清單以下設置

android:windowSoftInputMode="adjustResize" 

將完成它的工作的權利。

+0

我添加android:fillViewport =「true」到我的滾動視圖和更新我的活動在我的清單中只有adjustResize但我一直有同樣的問題,我不能滾動到頁面的底部被鍵盤和我隱藏不能滾動鍵盤上方 – Ajouve

+0

@ant你解決了這個問題嗎?即時通訊有相同的問題? – theiOSDude

+0

@ burrows111是不使用全屏 – Ajouve

1

你可以在你的manifest文件試試這個:

android:windowSoftInputMode="adjustUnspecified" 

我有我的應用程序是在ScrollView,它爲我工作。我認爲這也可能是windowSoftInputMode的違約價值,但我不是100%確定的。

編輯:這是我的ScrollView的開始,保持不變。

<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"> 

也許嘗試把你的LinearLayout高度match_parent爲好。

+0

此外,你可能要考慮改變你的'fill_parent'對'match_parent'。 'fill_parent'在API 8中被棄用,並被'match_parent'替代。 – TronicZomB

+0

更新我的表現和變化FILL_PARENT到match_parent,但我也有同樣的結果 – Ajouve

+0

@ant我已經更新我的答案。 – TronicZomB