对齐TextView元素alignParentLeft

时间:2013-06-09 11:31:44

标签: android android-layout textview alignment

我想将许多textview(包含在每个listView项中)对齐为alignParentLeft,在CSS中我们使用float:left,元素应该是块(在CSS中),这是我的xml布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:paddingTop="5dp"
    android:paddingBottom="5dp" >

    <TextView
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="14sp"
        android:textStyle="bold"
        android:layout_alignParentLeft="true"
        android:textColor="#000" />

    <TextView
        android:id="@+id/ticketsCount"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:textColor="#000"
        android:background="#fff" 
        android:textStyle="bold"
        android:padding="3dp" />

    <TextView
        android:id="@+id/address"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginTop="25dp"
        android:textStyle="bold"
        android:textColor="#000" />

    <TextView
        android:id="@+id/CityCountry"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginTop="25dp"
        android:textColor="#000" />

    <TextView
        android:id="@+id/StartingDate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginTop="25dp"
        android:textColor="#000" />

    <TextView
        android:id="@+id/EndingDate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginTop="25dp"
        android:textColor="#000" />

    <TextView
        android:id="@+id/ticketCategories"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginTop="25dp"
        android:textColor="#000" />

</RelativeLayout>

2个第一个文本视图位置很好但其他文本视图不是。

我该怎么做?谢谢。

编辑:这就是我实际得到的: enter image description here

1 个答案:

答案 0 :(得分:1)

你没有遇到这个问题,因为你的textview没有对齐左边 - 你遇到了这个问题,因为你给了你所有的textview相同的属性 - android:layout_marginTop="25dp"这意味着它们都是相同的距离从顶部。

要解决此问题,您需要将textview相对于彼此 - 例如,CityCountry文字视图应具有属性android:layout_below="@id/address"

这就是RelativeLayout的工作方式,因为它允许您将元素放在彼此之上,您必须指定何时不希望它们彼此叠加。

或者,您可以使用属性为LinearLayout的{​​{1}},这样可以阻止文字视图重叠。