2014-01-11 70 views
1

當我把Fragment其中包含EditTextViewPager我正面臨一個視圖混合問題。視圖越來越混合EditText焦點在片段內ViewPager

你可以在image_1中看到我的實際佈局設計。案例1:我將Fragment放在ViewPager的內部,並在佈局中點擊第一個EditText來輸入內容。但結果是image_2。所有View都因爲沒有足夠的空間來容納所有的View而變得混雜。但是關於android的實際行爲,佈局中的所有Views都應該向上移動,並將焦點集中在當前選中的EditText。案例2:我把Fragment直接放到Activity而沒有ViewPager。我嘗試了同樣的事情(image_3)。我在這裏得到了所需的android行爲。

1)爲什麼會這樣?
2)我該如何解決這個問題?

IMAGE_1
actual layout

IMAGE_2
layout behavior inside view pager

IMAGE_3
layout outside viewpager


我的佈局代碼:

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout 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" 
    android:background="@drawable/container_dropshadow" > 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_margin="@dimen/content_margin" 
     android:background="@color/dark_background" > 

     <Button 
      android:id="@+id/sendButton" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:gravity="center_horizontal" 
      android:onClick="send" 
      android:text="@string/send" /> 

     <EditText 
      android:id="@+id/descriptionEditText" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_above="@id/sendButton" 
      android:hint="@string/description" 
      android:inputType="textMultiLine|textNoSuggestions" 
      android:maxLength="500" /> 

     <EditText 
      android:id="@+id/departmentEditText" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_above="@id/descriptionEditText" 
      android:hint="Department" 
      android:inputType="textNoSuggestions" 
      android:singleLine="true" /> 

     <EditText 
      android:id="@+id/subjectEditText" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_above="@id/departmentEditText" 
      android:hint="Subject" 
      android:inputType="textNoSuggestions" 
      android:singleLine="true" > 

      <requestFocus /> 
     </EditText> 

     <LinearLayout 
      android:id="@+id/selectAFileLinearLayout" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_above="@id/subjectEditText" 
      android:layout_margin="8dp" 
      android:background="@drawable/bg_browse" 
      android:gravity="center_horizontal|center_vertical" 
      android:orientation="horizontal" > 

      <TextView 
       android:id="@+id/fileTextView" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="4dp" 
       android:layout_weight="6" 
       android:gravity="center" 
       android:padding="2dp" 
       android:text="Select a file" 
       android:textStyle="italic" /> 

      <Button 
       android:id="@+id/browseFileButton" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:onClick="getFile" 
       android:text="..." /> 
     </LinearLayout> 

     <TextView 
      android:id="@+id/messageTextView" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_above="@id/selectAFileLinearLayout" 
      android:layout_marginBottom="@dimen/upload_file_title_margin_bottom" 
      android:gravity="center_horizontal" 
      android:text="@string/upload_files_message" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:textColor="#ffffff" 
      android:textSize="@dimen/heading_font_size" /> 
    </RelativeLayout> 

</FrameLayout> 

回答

2

在您的活動清單中添加以下內容

android:windowSoftInputMode="adjustPan"