Android:在列表视图中对齐文本视图

时间:2014-10-30 21:14:46

标签: android textview alignment

我有一个有三个textview的listvew。我不确定如何对齐它们以使输出看起来像:

abcded   -> xxxx              aaa
ddd      -> qqq               bbb
alkdladd -> hzhdl             ccc

而不是我目前得到的:

abcded -> xxxx                aaa
ddd -> qqq                    bbb
alkdladd -> hzhdl             ccc

第一行的textviews是:

textview1 = abcded
textview2 = -> xxxx
textview3 = aaa

问题在于中间的textview对齐。我该怎么做呢?

1 个答案:

答案 0 :(得分:2)

您拥有的一个选项是让您的列表项布局包含LinearLayout并使用权重。类似的东西:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="6" >

    <TextView
        android:id="@+id/left_text"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:singleLine="true"
        android:maxLines="1"
        android:ellipsize="end"> />

    <TextView
        android:id="@+id/center_text"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="4"
        android:singleLine="true"
        android:maxLines="1"
        android:ellipsize="end" />

    <TextView
        android:id="@+id/right_text"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:singleLine="true"
        android:maxLines="1"
        android:ellipsize ="end" />
</LinearLayout>

这假设您只希望每个视图中的文本都是一行。它将椭圆化(在末尾添加三个点),否则将包裹到另一行。您可以根据需要使用重量来获得所需的外观。

使用RelativeLayout或其他内容可能有其他方式,但权重(我发现)是保证应用程序在全球范围内保持对齐的最佳方法。