チャットのレイアウトを設計する際に問題が発生しました。私のXMLは以下のとおりです。
したがって、レイアウトは3つの部分で構成されます。ヘッダー(RelativeLayout
内部に複数のビューがある)、ListView、およびフッター(RelativeLayout
withEditText
とa Button
)です。送信ボタンはの横に配置されていますがEditText
、EditText
最大6行まで拡張できるため、ボタンを下部に配置する必要があります。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>