2014-01-11 34 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"