在列表视图上方对齐列标题

时间:2014-08-12 09:27:35

标签: android-layout

我在列表视图上方对齐某些标题时遇到了一些麻烦。

这就是我的布局:

我想将标题对齐各自的按钮。

我的布局代码:

<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:minWidth="25px"
    android:minHeight="25px"
    android:layout_marginLeft="5dip"
    android:id="@+id/linearLayoutTimeRange">
    <Spinner
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/spinnerTimeRange" />
    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <ImageButton
            android:src="@drawable/plus_white_32"
            android:padding="10dp"
            android:layout_alignParentRight="true"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageButtonAddTimeRange" />
    </RelativeLayout>
    <TableLayout
        android:stretchColumns="*"
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TableRow>
            <TextView
                android:text="DATE"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />
            <TextView
                android:text="ON SITE"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />
            <TextView
                android:text="STARTED"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />
            <TextView
                android:text="FINISHED"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />
        </TableRow>
    </TableLayout>
    <ListView
        android:id="@+id/listViewTimeRange"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />
</LinearLayout>

我的列表项布局:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:stretchColumns="*"
    android:minWidth="25px"
    android:minHeight="25px"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/tableLayoutTimeRangeItem">
    <TableRow
        android:id="@+id/tableRowTimeRangeItem">
        <Button
            android:text="Date"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/buttonTimeRangeItemDate" />
        <Button
            android:text="Time On Site"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/buttonTimeRangeItemOnSite" />
        <Button
            android:text="Time Started"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/buttonTimeRangeItemStarted" />
        <Button
            android:text="Time Finished"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/buttonTimeRangeItemFinished" />
        <ImageButton
            android:src="@drawable/ic_action_delete_32"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/buttonTimeRangeItemDelete" />
    </TableRow>
</TableLayout>

我真的对如何做到这一点感到茫然。我已经打了很长一段时间。

有人可以帮忙吗?

感谢

1 个答案:

答案 0 :(得分:1)

我最好不要使用带有TableRow的TableLayout,而是使用带有加权子元素的LinearLayout。

在标题中(子项权重:20,20,20,40)和自定义行(子项权重:20,20,20,20,20)。

请记住,所有子宽度必须 0dp ,才能应用权重。