如何阻止键盘在Drawerlayout中扭曲ListView?

时间:2014-07-26 22:04:29

标签: android listview android-xml drawerlayout

好的,所以我在抽屉布局中有一个friendslist功能,如下所示:

enter image description here enter image description here

正如您所看到的,我需要某种方式的LinearLayout保持编辑文本和按钮将列表视图向上推,而不是出现在它上面。我怎样才能做到这一点?

编辑:我的代码,按要求

 <RelativeLayout
    android:id="@+id/relative_layout"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="start" >

    <ListView
        android:id="@+id/left_drawer"
        android:layout_width="300dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="#111"
        android:choiceMode="singleChoice"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" 
        android:layout_alignParentBottom="true">

        <EditText
            android:id="@+id/edit_message"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:hint="Enter friend name" />

        <Button
            android:id="@+id/button_send"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="sendMessage"
            android:text="Add" />
    </LinearLayout>
</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

您可能正在使用RelativeLayout作为主视图组。将其切换为LinearLayout并为ListView指定高度为0且权重为1.为底部布局指定包装高度且无重量。

不要忘记为LinearLayouts(垂直或水平)指定方向。

答案 1 :(得分:0)

您只需将活动的windowSoftInputMode标记切换为&#34; adjustPan&#34;。查看官方文档 http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft 了解更多信息。

<activity
   ...
   android:windowSoftInputMode="adjustResize"> 
</activity>