0

所以我是 Android 布局的初学者,我正在学习RelativeLayout. 我正在尝试做以下事情:

在此处输入图像描述

但是,我在虚拟设备中得到的只是名称字段占用了 100% 的空间(宽度和高度)。
在此处输入图像描述

这是我的 XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:id="@+id/root">
    <EditText android:id="@+id/name" 
        android:layout_alignParentLeft="true" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:hint = "Name"/>
    <EditText android:id="@+id/phone" 
        android:layout_below="@id/name" 
        android:layout_alignParentRight="true" 
        android:layout_weight="0.4" 
        android:layout_height="wrap_content" 
        android:layout_width="0dp" 
        android:hint="Phone" />
    <EditText android:id="@+id/email" 
        android:layout_below="@id/phone" 
        android:layout_alignParentRight="true" 
        android:layout_weight="0.4" 
        android:layout_height="wrap_content" 
        android:layout_width="0dp" 
        android:hint="Email" />
    <EditText android:id="@+id/dob" 
        android:layout_below="@id/email" 
        android:layout_alignParentRight="true" 
        android:layout_weight="0.4" 
        android:layout_height="wrap_content" 
        android:layout_width="0dp" 
        android:hint="D.O.B." />
    <EditText android:id="@+id/address" 
        android:layout_below="@id/phone" 
        android:layout_alignParentLeft="true"
        android:layout_toLeftOf="@id/dob"
        android:layout_weight="0.6" 
        android:layout_height="0dp" 
        android:layout_width="match_parent" 
        android:hint="Address" />
    <Button android:id="@+id/submit" 
        android:layout_weight="1.0" 
        android:layout_below="@id/address" 
        android:layout_height="match_parent" 
        android:layout_width="0dp" 
        android:text="Submit"/>
</RelativeLayout>  

出了什么问题?

4

3 回答 3

2

这是您的输出的 xml。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<EditText
    android:id="@+id/name"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:hint="Name" />

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <EditText
        android:id="@+id/phone"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true
        android:layout_weight="-10"
        android:hint="Phone" />

    <EditText
        android:id="@+id/email"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@id/phone"
        android:layout_weight="0.4"
        android:hint="Email" />

    <EditText
        android:id="@+id/dob"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@id/email"
        android:layout_weight="0.4"
        android:hint="D.O.B." />

    <EditText
        android:id="@+id/address"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/phone"
        android:layout_toLeftOf="@id/dob"
        android:layout_weight="0.6"
        android:hint="Address" />
</RelativeLayout>

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

</LinearLayout>
于 2013-07-04T10:57:21.890 回答
1

将 name 元素的 layout_height 更改为: android:layout_height="wrap_content"

于 2013-07-04T10:48:53.397 回答
1

将您的布​​局 XML 更改为上述内容:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/root"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

<EditText
    android:id="@+id/name"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:hint="Name" />

<LinearLayout
    android:id="@+id/linear"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@id/name"
    android:orientation="horizontal"
    android:layout_marginBottom="60dp"
    android:weightSum="1" >

    <EditText
        android:id="@+id/address"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.6"
        android:hint="Address" />

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:layout_weight="0.4"
        android:weightSum="3" >

        <EditText
            android:id="@+id/phone"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:hint="Phone" />

        <EditText
            android:id="@+id/email"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:hint="Email" />

        <EditText
            android:id="@+id/dob"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:hint="D.O.B." />
    </LinearLayout>
</LinearLayout>

<Button
    android:id="@+id/submit"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:layout_alignParentBottom="true"
    android:text="Submit" />

</RelativeLayout>

希望有帮助:)

于 2013-07-04T11:03:27.730 回答