【问题标题】:Android how to align headings to listview itemsAndroid如何将标题与列表视图项目对齐
【发布时间】:2014-05-19 14:14:31
【问题描述】:

我的应用程序中有一个 Listview,我试图为每个“列”添加一个标题,但是我无法让它们正确对齐。

我已将标题线性布局项设置为与 listView 项相同的布局参数,但它们仍然不对齐。

这是我为演示该问题而制作的示例应用程序。

我已启用开发者边界线,因此您可以轻松查看其未对齐的情况。

这里是列表视图显示项:

<TextView
    android:id="@+id/rhinoZoneDisplayItem_textView_zoneNumber"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_weight="1"
    android:gravity="center"
    android:paddingRight="5dp"
    android:text="1:"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
    android:id="@+id/rhinoZoneDisplayItem_textView_status"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_weight="2"
    android:clickable="false"
    android:gravity="center"
    android:text="Status"
    android:textAppearance="?android:attr/textAppearanceMedium" />
 </LinearLayout>

和标题线性布局:

    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="5dp"
    android:layout_marginTop="5dp"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_weight="1"
        android:gravity="center_horizontal"
        android:text="Zone"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_weight="2"
        android:gravity="center_horizontal"
        android:text="Status"
        android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>

【问题讨论】:

    标签: android android-layout android-listview alignment android-linearlayout


    【解决方案1】:

    使用match_parent 作为TextView 宽度。

    【讨论】:

    • 另外,发布两种布局的完整 xml。
    【解决方案2】:

    当您使用 Layout-Weights 时,您所做的是正确的,请确保您将宽度设置为“0dp”而不是 wrap-content。以便让所有 Heading 和 list view 项目正确对齐并为每一列赋予相等的权重。

    【讨论】:

    • 这会导致标题中的一些文本掉到下一行。
    • 您是否为标题和列表视图列提供相同的宽度。如果是并且标题仍然掉落,那么您可以通过编程方式纠正该错误或减小标题文本的字体大小。但是在使用布局权重时,最佳做法是将宽度或高度属性保持为 0dp,以便获得列的宽度统一。
    【解决方案3】:

    您可以在列表的每个项目中为字段输入相同的值

    android:layout_marginLeft="50dp"
    

    这只是一个值的例子,这样所有的元素都在左侧对齐。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-18
      • 1970-01-01
      • 2013-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      相关资源
      最近更新 更多