我试着做一个聊天应用程序。我没有足够的设计经验。所以我有一些问题。我的问题似乎如下图所示:
和layout.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/white"
tools:context=".MainActivity" >
<RelativeLayout
android:id="@+id/navBar"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:background="#0d8ec1" >
<ImageView
android:id="@+id/toImage"
android:layout_width="50dp"
android:layout_height="50dp"
android:paddingLeft="3dp"
android:background="@drawable/toimage"/>
<TextView
android:id="@+id/toName"
android:layout_width="wrap_content"
android:layout_height="25dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:textSize="18sp"
android:textStyle="bold"
android:fontFamily="sans-serif"
android:textColor="#FFFFFF"
android:text="Ergin" />
<TextView
android:id="@+id/lastSeen"
android:layout_width="wrap_content"
android:layout_height="18dp"
android:layout_centerHorizontal="true"
android:layout_below="@+id/toName"
android:layout_marginBottom="3dp"
android:textSize="12sp"
android:textColor="#ffffff" />
</RelativeLayout>
<ListView
android:id="@+id/list_message"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/navBar"
android:divider="@null"
android:dividerHeight="0dp"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="50dip"
android:transcriptMode="alwaysScroll"
android:stackFromBottom="true" >
</ListView>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:weightSum="1"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingBottom="10dp" >
<EditText
android:id="@+id/txt_message"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:background="@drawable/edit_text"
>
<requestFocus />
</EditText>
<Button
android:id="@+id/btn_send"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.2"
android:background="@android:drawable/ic_media_play" />
如何解决图片中的问题?提前感谢..
答案 0 :(得分:1)
使用RelativeLayout中的EditText和Enter按钮 和 将属性赋予两个项目
android:centerVertical="true"
答案 1 :(得分:1)
xml中的3个更正。在您的上一期LinearLayout
中,您必须删除paddingBotton
并在EditText
和Button
中添加android:layout_gravity="center_vertical"
所以最后的结果应该是:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/white"
tools:context=".MainActivity" >
<RelativeLayout
android:id="@+id/navBar"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:background="#0d8ec1" >
<ImageView
android:id="@+id/toImage"
android:layout_width="50dp"
android:layout_height="50dp"
android:paddingLeft="3dp"
android:background="@drawable/toimage"/>
<TextView
android:id="@+id/toName"
android:layout_width="wrap_content"
android:layout_height="25dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:textSize="18sp"
android:textStyle="bold"
android:fontFamily="sans-serif"
android:textColor="#FFFFFF"
android:text="Ergin" />
<TextView
android:id="@+id/lastSeen"
android:layout_width="wrap_content"
android:layout_height="18dp"
android:layout_centerHorizontal="true"
android:layout_below="@+id/toName"
android:layout_marginBottom="3dp"
android:textSize="12sp"
android:textColor="#ffffff" />
</RelativeLayout>
<ListView
android:id="@+id/list_message"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/navBar"
android:divider="@null"
android:dividerHeight="0dp"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="50dip"
android:transcriptMode="alwaysScroll"
android:stackFromBottom="true"
android:layout_above="@+id/editTextButtonHoder">
</ListView>
<LinearLayout
android:id="@+id/editTextButtonHoder"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:weightSum="1"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
>
<EditText
android:id="@+id/txt_message"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:layout_gravity="center_vertical"
android:background="@drawable/edit_text"
android:lines="3"
android:minLines="3"
>
<requestFocus />
</EditText>
<Button
android:id="@+id/btn_send"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.2"
android:layout_gravity="center_vertical"
android:background="@android:drawable/ic_media_play" />
</LinearLayout>
</RelativeLayout>
要探索EditText,请看一下:
<EditText
android:inputType="textMultiLine" <!-- Multiline input -->
android:lines="8" <!-- Total Lines prior display -->
android:minLines="6" <!-- Minimum lines -->
android:gravity="top|left" <!-- Cursor Position -->
android:maxLines="10" <!-- Maximum Lines -->
android:layout_height="wrap_content" <!-- Height determined by content -->
android:layout_width="fill_parent" <!-- Fill entire width -->
android:scrollbars="vertical" <!-- Vertical Scroll Bar -->
/>