android如何解决布局设计问题

时间:2015-03-20 13:12:50

标签: android android-layout android-fragments

我试着做一个聊天应用程序。我没有足够的设计经验。所以我有一些问题。我的问题似乎如下图所示:
enter image description here
和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" />

如何解决图片中的问题?提前感谢..

2 个答案:

答案 0 :(得分:1)

使用RelativeLayout中的EditText和Enter按钮 和 将属性赋予两个项目

android:centerVertical="true"

答案 1 :(得分:1)

xml中的3个更正。在您的上一期LinearLayout中,您必须删除paddingBotton并在EditTextButton中添加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 -->
/>
相关问题