2016-11-12 6 views
1

나는 EditText가있는 DialogFragment가 있습니다. 열 때 키보드가 튀어 올라 대화 상자의 절반이 숨겨집니다. 그 때문에 onCreateView 안에 getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);을 사용했습니다. 대화 상자의 크기는 모두 조정되지만 스크롤 할 수 없으므로 다른 EditText 및 단추로 이동할 수 없습니다. 활동에키보드가 표시되지만 스크롤 할 수없는 경우 DialogFragment 크기 조정

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

답변

0

안드로이드를 추가 : windowSoftInputMode = "adjustResize"를 매니페스트

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

내 XML이다