TableLayout - 删除列之间的空间

Posted

技术标签:

【中文标题】TableLayout - 删除列之间的空间【英文标题】:TableLayout - Remove space between columns 【发布时间】:2013-08-24 23:14:48 【问题描述】:

TableLayout 有问题。

首先看一下截图:

如您所见,TableLayout 中间有一个相当大的空间。 我不知道如何减少中间的空间,让TableRows 有更多的Width 可以覆盖。 而且,我想减少TableRow 和它下面的空间之间的空间。

我正在以编程方式将视图添加到TableLayout。 另外,我已经将TableRow的内容的'layout_weight'设置为1f

TableRow tr = (TableRow) new TableRow(mTableLayout.getContext());
TableRow.LayoutParams params = new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT);
NormalCard card = new NormalCard();
card.setLayoutParams(new TableRow.LayoutParams(0, 740, 1f));
tr.addView(card);
mTableLayout.addView(tr, params);

TableLayout 的 XML 声明:

<TableLayout
            android:id="@+id/tableLayout"
            android:layout_
            android:layout_
            android:shrinkColumns="*"
            android:stretchColumns="*"
            android:dividerPadding="0dp"
            android:showDividers="none"
            android:divider="@null">
        </TableLayout>

如何减少TableLayout 中间的空间。 还有,如何减少TableRow 与其下方的空间之间的空间。

谢谢你。

【问题讨论】:

最好在xml中给出参数而不是在java中给出 @Exeptional 我必须使用 Java,因为我使用 HTTP 获取项目,然后添加到 TableLayout。 只需删除 android:shrinkColumns="" android:stretchColumns="" n 退房 @Exeptional 也不起作用... 【参考方案1】:

使用gridview布局,对你的view来说已经足够了。

http://www.javacodegeeks.com/2013/08/android-custom-grid-view-example-with-image-and-text.html

【讨论】:

难道没有办法用 TableLayout 做我提到的事情吗?【参考方案2】:

请指定您刚刚显示图像的表格布局 xml 文件。

如果可行就试试这个

android:shrinkColumns="*"  
android:stretchColumns="*"

在您的 TableLayout 标记中。

好的,如果每行中没有相同的列,请尝试将表格行的填充设置为 0,然后将表格宽度指定为 wrap_content。

【讨论】:

我添加了 XML 声明。我也试过你提到的属性,它不起作用。【参考方案3】:

试试这个:

params.setMargins(0, 0, 0, 0);

【讨论】:

以上是关于TableLayout - 删除列之间的空间的主要内容,如果未能解决你的问题,请参考以下文章

删除颤振中两列之间的空间

如何删除表格中行和列之间不需要的空间?

Android:如何在 TableLayout 中滑动列?

Android 布局之TableLayout

ListView 还是 TableLayout?

TableLayout 中的 TextView 数组