android如何解决布局设计问题
我尝试制作聊天应用程序。我在设计方面没有足够的经验。因此我遇到了一些问题。我的问题如下图所示:android如何解决布局设计问题,android,android-layout,android-fragments,Android,Android Layout,Android Fragments,我尝试制作聊天应用程序。我在设计方面没有足够的经验。因此我遇到了一些问题。我的问题如下图所示: 和layout.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent"
和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" />
如何解决图片中的问题?请提前感谢。使用编辑文本并在RelativeLayout中输入按钮 和 将两个项目的属性指定为
android:centerVertical="true"
xml中的3个更正。在上一次的
LinearLayout
中,您必须删除paddingBotton
,并在EditText
和按钮中添加android:layout\u gravity=“center\u 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
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 -->
/>
android:minLines=“6”
android:gravity=“上|左”
android:maxLines=“10”
android:layout\u height=“包装内容”
android:layout\u width=“fill\u parent”
android:scrollbars=“垂直”
/>
您必须在EditText中定义最大行数,否则如果用户输入多行文本,它将与屏幕重叠。大多数聊天应用程序最多提供4行用户可以看到的信息。如何保留所有信息的列表(编辑文本和按钮)?谢谢伙计,这解决了我的中心问题。但我仍然有一个问题。edittext是骑在消息气泡上的。你可以让edittext的高度固定下来。并在listView中添加一个新标记。android:layout_over=“包含编辑文本的线性布局”。为此,您必须在LinearLayout中添加一个ID。我正在更新我的答案。。