相对布局文本字段未正确对齐

时间:2013-04-21 14:51:29

标签: android

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="5dip" >

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginRight="5dip"
        android:padding="1dip" >

        <TextView
            android:layout_width="0dp"
            android:layout_weight="0.50"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:text="Name"
            android:textColor="#000000" />

        <TextView
            android:layout_width="0dp"
            android:id="@+id/facesheet_detail_firstandLastName"            
            android:layout_weight="1.20"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:textColor="#000000" />

        <TextView
            android:layout_width="0dp"
           android:layout_weight="0.50"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:text="Street1"
            android:textColor="#000000" />

        <TextView
            android:id="@+id/facesheet_detail_street1"            
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:textColor="#000000" />

        <TextView
            android:layout_width="0dp"
            android:layout_weight="0.50"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:text="E-Mail"
            android:textColor="#000000" />

        <TextView
            android:id="@+id/facesheet_email"            
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:textColor="#000000" />

    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginTop="35dp"
        android:layout_marginRight="5dip"
        android:padding="1dip" >

        <TextView
            android:layout_width="0dp"
            android:layout_weight="0.60"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:text="Gender"
            android:textColor="#000000" />

        <TextView
            android:id="@+id/facesheet_detail_gender"            
            android:layout_width="0dp"
            android:layout_weight="1.40"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:textColor="#000000" />

        <TextView
            android:layout_width="0dp"
            android:layout_weight="0.60"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:text="Street 2"
            android:textColor="#000000" />

        <TextView
            android:id="@+id/facesheet_detail_street2"            
            android:layout_width="0dp"
            android:layout_weight="1.20"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:textColor="#000000" />

        <TextView
            android:layout_width="0dp"
            android:layout_weight="0.50"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:text="SSN"
            android:textColor="#000000" />

        <TextView
            android:id="@+id/facesheet_ssn"            
            android:layout_width="0dp"
            android:layout_weight="1.20"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:textColor="#000000" />

    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginRight="5dip"
        android:layout_marginTop="70dp"
        android:padding="1dip" >

        <TextView
            android:layout_width="0dp"
            android:layout_weight="0.50"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:text="DOB"
            android:textColor="#000000" />

        <TextView
            android:id="@+id/facesheet_dob"            
            android:layout_width="0dp"
            android:layout_weight="1.50"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:textColor="#000000" />

        <TextView
            android:layout_width="0dp"
            android:layout_weight="0.50"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:text="City"
            android:textColor="#000000" />

        <TextView
            android:id="@+id/facesheet_detail_city"            
            android:layout_width="0dp"
            android:layout_weight="1.30"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:textColor="#000000" />

        <TextView
            android:layout_width="0dp"
            android:layout_weight="0.70"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:text="Religion"
            android:textColor="#000000" />

        <TextView
             android:id="@+id/facesheet_detail_religion"   
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:text=""
            android:textColor="#000000" />

    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout4"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginRight="5dip"
        android:layout_marginTop="105dp"
        android:padding="1dip" >

        <TextView
            android:layout_width="0dp"
            android:layout_weight="0.60"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:text="Phone"
            android:textColor="#000000" />

        <TextView
            android:id="@+id/facesheet_phone"            
            android:layout_width="0dp"
            android:layout_weight="1.15"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:textColor="#000000" />

        <TextView
            android:layout_width="0dp"
            android:layout_weight="0.60"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:text="State"
            android:textColor="#000000" />

        <TextView
            android:id="@+id/facesheet_detail_state"            
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:textColor="#000000" />

        <TextView
            android:layout_width="0dp"
            android:layout_weight="0.50"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:text="Race"
            android:textColor="#000000" />

        <TextView
             android:id="@+id/facesheet_detail_race"   
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:text=""
            android:textColor="#000000" />

    </LinearLayout>

     <LinearLayout
        android:id="@+id/linearLayout5"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginRight="5dip"
        android:layout_marginTop="140dp"
        android:padding="1dip" >

        <TextView
            android:layout_width="0dp"
            android:layout_weight="0.60"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:text="Mobile"
            android:textColor="#000000" />

        <TextView
            android:id="@+id/facesheet_detail_mobile"            
            android:layout_width="0dp"
            android:layout_weight="1.35"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:textColor="#000000" />

        <TextView
            android:layout_width="0dp"
            android:layout_weight="0.70"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:text="Zip Code"
            android:textColor="#000000" />

        <TextView
            android:id="@+id/facesheet_detail_zipCode"            
            android:layout_width="0dp"
            android:layout_weight="1.15"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:textColor="#000000" />

        <TextView
            android:layout_width="0dp"
            android:layout_weight="0.70"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:text="Ethnicity"
            android:textColor="#000000" />

        <TextView
             android:id="@+id/facesheet_detail_ethnicity"   
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:textColor="#000000" />

    </LinearLayout>
</RelativeLayout>

我遇到了一个问题,我必须要映射这样的制服。

Name: "Kevin"        State: "VA"        Email: "Kevin@Kevin.com

但是当我试图在模拟器中看到输出时,可能布局似乎搞砸了,附加的是相同的屏幕截图。任何人都可以告诉我,我应该给出的确切空间是什么,以使其统一。

enter image description here

2 个答案:

答案 0 :(得分:2)

您可以使用属性

android:layout_alignLeft="@+id/idOfViewToAlignWith"
android:layout_alignRight="@+id/idOfViewToAlignWith"

对齐Views

的边缘

您还拥有

等属性
android:layout_alignCenter
android:layout_centerInParent="true"

查看RelativeLayout Docs,了解哪种属性最适合您

此外,这是Views的全部内容。我建议评论除了一行或两行以外的所有行,并从最小量Views开始,直到你把它们弄好,这样你就不会经常改变它们。使用这些新属性后,您可能还需要使用padding。由于这些嵌套在LinearLayouts中,您需要在父LinearLayouts中使用这些属性,显然

答案 1 :(得分:1)

如果您希望您的行以相同的方式对齐,请确保在每个TextView上为每个LinearLayout赋予相同的权重。

例如:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="5dip" >

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginRight="5dip"
        android:padding="1dip" >

        <TextView
            android:layout_width="0dp"
            android:layout_weight="0.50"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:text="Name"
            android:textColor="#000000" />

        <TextView
            android:layout_width="0dp"
            android:id="@+id/facesheet_detail_firstandLastName"            
            android:layout_weight="1.20"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:textColor="#000000" />

        <TextView
            android:layout_width="0dp"
           android:layout_weight="0.50"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:text="Street1"
            android:textColor="#000000" />

        <TextView
            android:id="@+id/facesheet_detail_street1"            
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:textColor="#000000" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginTop="35dp"
        android:layout_marginRight="5dip"
        android:padding="1dip" >

        <TextView
            android:layout_width="0dp"
            android:layout_weight="0.50"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:text="Gender"
            android:textColor="#000000" />

        <TextView
            android:id="@+id/facesheet_detail_gender"            
            android:layout_width="0dp"
            android:layout_weight="1.20"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:textColor="#000000" />

        <TextView
            android:layout_width="0dp"
            android:layout_weight="0.50"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:text="Street 2"
            android:textColor="#000000" />

        <TextView
            android:id="@+id/facesheet_detail_street2"            
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:paddingLeft="5dp"
            android:textColor="#000000" />
    </LinearLayout>
</RelativeLayout>    

请注意,“名称”和“性别”TextView具有相同的权重,因为我希望它们对齐。与每个TextView的第二个LinearLayout相同,依此类推。