2016-02-26 212 views
0

当我点击EditText时,键盘弹出并覆盖EditText的一部分。我希望EditText为完全可见键盘覆盖部分edittext

我试过adjustPan和adjustResize,他们不工作。我想在一个片段中做到这一点。

这是它的外观,现在

This is how it looks right now

这是我希望它是

This is how i want it to be

更新:

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#EAEAEA" 
    android:clickable="true" > 

    <RelativeLayout 
     android:id="@+id/header" 
     android:layout_width="fill_parent" 
     android:layout_height="40dp" 
     android:background="@android:color/white" > 

     <TextView 
      android:id="@+id/message_header" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="15dp" 
      android:layout_marginStart="15dp" 
      android:gravity="center_vertical" 
      android:text="@string/messages" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:textColor="@color/black" /> 

     <ImageView 
      android:id="@+id/close_button" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_alignParentEnd="true" 
      android:layout_alignParentRight="true" 
      android:layout_centerVertical="true" 
      android:layout_marginEnd="5dp" 
      android:layout_marginRight="5dp" 
      android:contentDescription="@null" 
      android:paddingLeft="5dp" 
      android:paddingRight="5dp" 
      android:src="@drawable/close" /> 
    </RelativeLayout> 

    <ListView 
     android:id="@+id/message_area" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_above="@+id/edit_control" 
     android:layout_below="@+id/imageSmsProfile" 
     android:background="#EAEAEA" 
     android:divider="@null" 
     android:dividerHeight="0dp" 
     android:fadeScrollbars="true" 
     android:overScrollHeader="#EAEAEA" > 
    </ListView> 

    <com.monqi.kid.custom.CustomRoundedImageView 
     android:id="@+id/imageSmsProfile" 
     android:layout_width="@dimen/dimen_50dp" 
     android:layout_height="@dimen/dimen_50dp" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="20dp" 
     android:background="@drawable/rounded_rectangle_shape" 
     android:scaleType="centerCrop" 
     app:left_bottom_corner_radius="10dip" 
     app:left_top_corner_radius="10dip" 
     app:right_bottom_corner_radius="10dip" 
     app:right_top_corner_radius="10dip" /> 

    <RelativeLayout 
     android:id="@+id/edit_control" 
     android:layout_width="fill_parent" 
     android:layout_height="50dp" 
     android:layout_alignParentBottom="true" 
     android:paddingLeft="5dp" 
     android:paddingRight="5dp" > 

     <EditText 
      android:id="@+id/input_chat_message" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" 
      android:layout_marginBottom="2dp" 
      android:layout_marginLeft="5dp" 
      android:layout_toLeftOf="@+id/button_chat_send" 
      android:layout_toStartOf="@+id/button_chat_send" 
      android:background="@drawable/edittext_drawable" 
      android:cursorVisible="false" 
      android:ems="10" 
      android:inputType="textImeMultiLine" 
      android:paddingLeft="10dp" 
      android:paddingRight="10dp" 
      android:paddingStart="10dp" > 

      <requestFocus /> 
     </EditText> 

     <Button 
      android:id="@+id/button_chat_send" 
      android:layout_width="wrap_content" 
      android:layout_height="50dp" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentEnd="true" 
      android:layout_alignParentRight="true" 
      android:layout_marginBottom="2dp" 
      android:layout_marginEnd="8dp" 
      android:layout_marginRight="8dp" 
      android:layout_marginTop="2dp" 
      android:background="@drawable/send_button" 
      android:text="@string/send" 
      android:textColor="@android:color/white" /> 
    </RelativeLayout> 
</RelativeLayout> 

+0

使用tpA的答案,并将您的视图放入ScrollView。 –

+0

请尝试把你的布局在ScrollView –

+0

你可以把你的xml –

回答

1

使用android:windowSoftInputMode="adjustResize|adjustPan"

+0

它是一个片段,因此无法设置windowsoftinputMode。我曾尝试为拥有该片段的活动设置这些标志。无效 – Umesh

0

当我被卡在)同种的场景在那里我已经添加下面的代码行中我的onCreate(这为我工作,希望这有助于

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); 
+0

其片段因此无法设置windowsoftinputMode。我曾尝试为拥有该片段的活动设置这些标志。不起作用 – Umesh

+0

我认为一个Activity的所有片段都具有与其父Activity相同的行为,但是如果您需要不同Fragments的不同键盘行为,则可以像下面这样从您的Fragment代码动态更改此属性:getActivity()。getWindow( ).setSoftInputMode(WindowManager.LayoutParams.softInputMode.SOFT_INPUT_ADJUST_PAN); – Naresh

0

试试这个XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" > 

<ListView 
    android:id="@+id/listView1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="80dp"> 
</ListView> 

<RelativeLayout 
    android:id="@+id/form" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:orientation="vertical" > 

    <EditText 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:inputType="textMultiLine" 
     android:ems="10" 
     android:id="@+id/chatText" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_toLeftOf="@+id/buttonSend" /> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Send" 
     android:id="@+id/buttonSend" 
     android:layout_alignBottom="@+id/chatText" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" /> 
</RelativeLayout> 

0

在AndroidManifest中添加android:windowSoftInputMode =“adjustResize | adjustResize”并使用包含您的rootView的scrollView。