我在设计聊天布局时遇到了问题。下面列出了我的 XML。
因此布局由 3 部分组成:页眉(RelativeLayout
其中包含多个视图)、ListView 和页脚(RelativeLayout
withEditText
和 a Button
)。发送按钮放在旁边EditText
,但EditText
最多可以扩展到 6 行,我需要按钮留在底部。A 不能使用alignParentBottom
,因为它会导致错误的依赖关系,并且页脚会展开,将其ListView
推出屏幕。ExitText
我还尝试将布局更改为线性布局,但是当展开以允许多行输入时,仍然无法强制按钮保持在底部。任何建议表示赞赏。
<RelativeLayout 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"
tools:context=".ChatActivity" >
<RelativeLayout
android:id="@+id/RL_header"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:background="#7B7B7B"
android:gravity="center_vertical" >
<ImageView
android:id="@+id/img_Contact_Icon"
android:layout_width="55dp"
android:layout_height="55dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:padding="5dp"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/tvContactName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/img_Contact_Icon"
android:layout_toRightOf="@+id/img_Contact_Icon"
android:text="testname"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/tvPartnerRegion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/img_Contact_Icon"
android:layout_alignLeft="@+id/tvContactName"
android:layout_marginBottom="5dp"
android:text="@string/tvFrom"
android:textAppearance="?android:attr/textAppearanceMedium" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/RL_footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
>
<EditText
android:id="@+id/etChatInput"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/btnSend"
android:ems="10"
android:hint="@string/etWriteMessageHint"
android:maxLines="6" />
<Button
android:id="@+id/btnSend"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="@string/btnSend" />
</RelativeLayout>
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/RL_footer"
android:layout_below="@+id/RL_header"
android:layout_centerHorizontal="true"
android:divider="@android:color/transparent"
android:dividerHeight="10.0sp" >
</ListView>