表格布局间距问题

时间:2013-02-23 09:39:47

标签: android xml android-tablelayout

我有一个滚动视图表格布局。它有2列。其中一个(第一个)是描述,第二个是数量。我已经这样做了,如果有必要,第一列可以WRAP文本。 我现在的问题是限制两列的宽度,使它们在屏幕上达到50-50%。并且第一列应该换行。我确实尝试使用android:minWidth =“215dp”,但我不想在xml中硬编码我的值。

这是xml。任何帮助表示赞赏。

<ScrollView
    android:id="@+id/scroll"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@+id/footer"
    android:layout_below="@+id/tableheader"
    android:fillViewport="true"
    android:scrollbars="none" >

    <TableLayout
        android:id="@+id/dataTable"
        style="@style/SummaryTableLayout" >

        <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="fill_parent"
              android:layout_height="fill_parent" >

        <TextView
            android:gravity="left"
            android:minWidth="215dp"
            />

        <TextView
            android:gravity="left"
            android:minWidth="215dp"
                    />

        </TableRow>
    </TableLayout>
</ScrollView>

SummaryTableLayout样式部分是

<style name="SummaryTableLayout" >
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:stretchColumns">0</item>
    <item name="android:shrinkColumns">0</item>
    <item name="android:layout_marginTop">10dp</item>
    <item name="android:layout_marginBottom">25dp</item>
    <item name="android:scrollbars">vertical</item>
    <item name="android:isScrollContainer">true</item>
    <item name="android:scrollbarAlwaysDrawVerticalTrack">true</item>
</style>

编辑:::这是我的一个xmls。我有第二个xml,其中表格布局有4列,我希望这些列均匀分布,第一列有WRAPPING。

1 个答案:

答案 0 :(得分:1)

使用layout_weigth属性。这应该适合你:

<TableLayout
    android:id="@+id/dataTable"
    style="@style/SummaryTableLayout" >

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="fill_parent"
          android:layout_height="fill_parent" >

    <TextView
        android:gravity="left"
        android:width="0px"
        android:layout_weight="0.5"/>

    <TextView
        android:gravity="left"
        android:width="0px"
        android:layout_weight="0.5"/>

    </TableRow>
</TableLayout>

根据这个答案herelayout_weight用于定义列的优势。

编辑请注意我已将layout_width替换为width列,因为这似乎是在这种情况下使用的正确属性。