Android对齐元素

时间:2013-12-20 05:23:15

标签: android android-layout android-listview

我无法在页面底部对齐按钮和文本框。也可能相对布局搞砸了。如何使用当前对话添加视图。我的Listview不起作用。我想要达到像这样的简单设计

enter image description here

这是我的代码。灰色也覆盖了我的应用程序,我看不到我的列表视图

 <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=".MainActivity" >
  <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:drawSelectorOnTop="false"
    />
    <RelativeLayout
        android:id="@+id/InnerRelativeLayout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginTop="10dp"
        android:background="@color/gray"
        android:paddingLeft="3dp"
        android:paddingRight="3dp"
        android:paddingTop="5dp" >

        <EditText
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:inputType="textMultiLine"
            android:lines="3"
            android:maxLines="3"
            android:minLines="1"
            android:scrollbars="vertical" />

        <Button
            android:id="@+id/send"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:gravity="center"
            android:text="@string/send"
            android:textSize="15sp"
            android:textStyle="bold" />
    </RelativeLayout>

</RelativeLayout>

但我的输出看起来像这样

enter image description here

5 个答案:

答案 0 :(得分:0)

你应该将EditText和Button放在LinearLayout(水平)

<LinearLayout android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:layout_alignParentBottom="true"
    android:orientation="horizontal">

    <EditText
        android:layout_width="wrap_content" <!-- or give some dimension -->
        android:layout_height="wrap_content"
        android:inputType="textMultiLine"
        android:lines="3"
        android:maxLines="3"
        android:minLines="1"
        android:scrollbars="vertical" 
        />

    <Button android:id="@+id/send"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/send" />

</LinearLayout>

答案 1 :(得分:0)

使用它:

<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=".MainActivity" >

   <Button android:id="@+id/send"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:text="@string/send" />

    <EditText
        android:id="@+id/editText"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="textMultiLine"
        android:layout_toLeftOf="@id/send" 
        android:lines="3"
        android:maxLines="3"
        android:minLines="1"
        android:scrollbars="vertical" 
         android:layout_alignParentBottom="true"
        />



</RelativeLayout>

答案 2 :(得分:0)

试试这个..

<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=".MainActivity" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:orientation="horizontal" >

        <EditText
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="0.7"
            android:gravity="center"
            android:inputType="textMultiLine"
            android:lines="3"
            android:maxLines="3"
            android:minLines="1"
            android:scrollbars="vertical"/>

        <Button
            android:id="@+id/send"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="0.3"
            android:gravity="center"
            android:text="@string/send" />
    </LinearLayout>

</RelativeLayout>

或者

<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=".MainActivity" >

     <Button android:id="@+id/send"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:text="@string/send" />

    <EditText
        android:id="@+id/editText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textMultiLine"
        android:layout_toLeftOf="@+id/send" 
        android:lines="3"
        android:maxLines="3"
        android:minLines="1"
        android:scrollbars="vertical" 
         android:layout_alignParentBottom="true"
        />

</RelativeLayout>

修改

<LinearLayout 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"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="vertical" >

        <ListView
            android:id="@android:id/list"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawSelectorOnTop="false" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/InnerRelativeLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/gray" >

        <EditText
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="0.8"
            android:gravity="center"
            android:inputType="textMultiLine"
            android:lines="3"
            android:maxLines="3"
            android:minLines="1"
            android:scrollbars="vertical" />

        <Button
            android:id="@+id/send"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="0.2"
            android:gravity="center"
            android:text="@string/send"
            android:textSize="15sp"
            android:textStyle="bold" />
    </LinearLayout>

</LinearLayout>

enter image description here

答案 3 :(得分:0)

尝试以下代码..

<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=".MainActivity" >

        <EditText
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:inputType="textMultiLine"
            android:lines="3"
            android:maxLines="3"
            android:minLines="1"
            android:layout_toLeftOf="@+id/send"
            android:scrollbars="vertical" />

        <Button
            android:id="@+id/send"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignParentBottom="true"
            android:text="send" />
    </RelativeLayout>

看起来像这样。

enter image description here

答案 4 :(得分:0)

在主要相对布局中添加LinearLayout,并在EditText内添加ButtonLinearLayout。不要忘记将属性android:layout_weight="1"添加到元素中。像这样:

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:orientation="horizontal">

    <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="textMultiLine"
        android:lines="3"
        android:maxLines="3"
        android:minLines="1"
        android:scrollbars="vertical" 
        android:layout_weight="1"/>

    <Button
        android:id="@+id/send"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/send" />

 </LinearLayout>