当显示软键盘时,Android中的ListView隐藏第一个元素

时间:2014-07-30 10:05:26

标签: android android-layout listview android-listview

我在显示listView和EditText字段的活动中遇到问题(见下图)。我想使用软输入法 adjustPan 而不是 adjustResize 。当我在字段聊天中添加新文本并且未显示软键盘时,项目会正确显示。最重要的项目是项目1.当ListView为空时,我单击EditText字段,显示软键盘。我现在输入一个新文本然后按下“Senden”按钮而不关闭键盘。然后我的项目1位于设备屏幕的可见区域之上。在图片中我希望第1项下降,以便正确显示(绿色箭头)。

这是我的布局XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
android:animateLayoutChanges="true"
android:orientation="vertical" >

<ListView
    android:id="@+id/messageList"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_above="@+id/grid_chat"
    android:layout_alignParentTop="true"
    android:divider="@drawable/list_divider"
    android:listSelector="@android:color/transparent"
    android:dividerHeight="1dp"
    android:footerDividersEnabled="true"
    android:headerDividersEnabled="true" >
</ListView>

<GridLayout
    android:id="@+id/grid_chat"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="15dp"
    android:layout_marginTop="15dp"
    android:columnCount="2"
    android:orientation="horizontal"
    android:rowCount="1" >

    <EditText
        android:id="@+id/chatLine"
        android:layout_width="match_parent"
        android:layout_height="38dp"
        android:layout_column="0"
        android:layout_gravity="left"
        android:layout_marginLeft="41dp"
        android:layout_marginRight="36dp"
        android:background="@drawable/message_border"
        android:inputType="text" 
        android:paddingLeft="5dp"
        android:paddingRight="48dp"
        android:textColor="#000000" />

    <ImageButton
        android:id="@+id/button_send"
        android:layout_width="78dp"
        android:layout_height="30dp"
        android:layout_column="1"
        android:layout_gravity="right"
        android:layout_marginLeft="-76dp"
        android:layout_marginTop="5dp"
        android:adjustViewBounds="false"
        android:background="@android:color/transparent"
        android:contentDescription="@string/empty"
        android:scaleType="fitStart"
        android:src="@drawable/arrow_right" />
</GridLayout>

</RelativeLayout>

其中RelativeLayout嵌入在选项卡中:

 <FrameLayout
            android:id="@+android:id/realtabcontent"
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:layout_above="@android:id/tabcontent"
            android:layout_marginBottom="14dp" >
 </FrameLayout>

我试图覆盖OnGlobalLayoutListener来调整ListView的顶部但没有成功。

有没有人遇到过同样的问题?

Red like it is: Green like it should be

0 个答案:

没有答案