DialogFragment在显示键盘时调整大小,但不可滚动

时间:2016-11-12 01:13:20

标签: android android-dialogfragment android-scrollview

我有一个带有EditTexts的DialogFragment。当我打开它时,键盘会弹出并隐藏对话框的一半。因此,我在getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);内使用了onCreateView。该对话框将调整大小,但它不可滚动,因此我无法访问其他EditTexts和按钮。

这是我的XML:

<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <RelativeLayout xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <ImageView
            android:id="@+id/iv_logo_image"
            android:layout_width="200dp"
            android:layout_height="80dp"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="16dp"
            android:layout_marginTop="16dp"
            app:srcCompat="@drawable/logo" />

        <LinearLayout
            android:id="@+id/ll_register_form"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/iv_logo_image"
            android:layout_centerHorizontal="true"
            android:layout_margin="@dimen/screen_edge_margin"
            android:orientation="vertical">

            <EditText
                android:id="@+id/et_first_name"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="8dp"
                android:layout_marginTop="8dp"
                android:background="@drawable/drawable_border"
                android:hint="@string/first_name"
                android:inputType="text"
                android:padding="5dp"
                android:textColorHint="@color/gray_400"
                android:textSize="14sp" />

            <EditText
                android:id="@+id/et_last_name"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="8dp"
                android:layout_marginTop="8dp"
                android:background="@drawable/drawable_border"
                android:hint="@string/last_name"
                android:inputType="text"
                android:padding="5dp"
                android:textColorHint="@color/gray_400"
                android:textSize="14sp" />

            <EditText
                android:id="@+id/et_company_name"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="8dp"
                android:layout_marginTop="8dp"
                android:background="@drawable/drawable_border"
                android:hint="@string/company_name_hint"
                android:inputType="text"
                android:padding="5dp"
                android:textColorHint="@color/gray_400"
                android:textSize="14sp" />

            <EditText
                android:id="@+id/et_email"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="8dp"
                android:layout_marginTop="8dp"
                android:background="@drawable/drawable_border"
                android:hint="@string/username"
                android:inputType="textEmailAddress"
                android:padding="5dp"
                android:textColorHint="@color/gray_400"
                android:textSize="14sp" />

            <EditText
                android:id="@+id/et_password"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="8dp"
                android:layout_marginTop="8dp"
                android:background="@drawable/drawable_border"
                android:hint="@string/password"
                android:inputType="textPassword"
                android:padding="5dp"
                android:textColorHint="@color/gray_400"
                android:textSize="14sp" />

            <EditText
                android:id="@+id/et_confirm_password"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="8dp"
                android:layout_marginTop="8dp"
                android:background="@drawable/drawable_border"
                android:hint="@string/confirm_password"
                android:inputType="textPassword"
                android:padding="5dp"
                android:textColorHint="@color/gray_400"
                android:textSize="14sp" />
        </LinearLayout>

        <TextView
            android:id="@+id/tv_register_now"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/ll_register_form"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="16dp"
            android:text="Already registered? Login me!"
            android:textColor="@color/light_blue_900"
            android:textSize="14sp" />

        <Button
            android:id="@+id/btn_register"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/tv_register_now"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="16dp"
            android:background="@drawable/selector_button_blue"
            android:text="@string/btn_register"
            android:textColor="@color/white"
            android:textSize="@dimen/medium_14" />

        <ProgressBar
            android:id="@+id/progress_bar"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_centerInParent="true"
            android:visibility="gone" />

    </RelativeLayout>
</ScrollView>

1 个答案:

答案 0 :(得分:0)

在活动中添加android:windowSoftInputMode =&#34; adjustResize&#34;在清单

      <activity android:name="YourActivity" 
      android:windowSoftInputMode="adjustResize" />