2009-11-03 91 views
65

我在我的android应用程序中显示值表的一个表,并希望列的大小均匀分布,而不是根据内容大小。Android在一个TableLayout中均匀拉伸列

一直玩弄stretchColumns,但无法设法弄清楚正确的组合,任何想法?

+0

stretchColumns有什么问题?是否有一些列“溢出”? – 2009-11-03 20:45:58

+0

我希望他们都是相同的大小,但他们之间似乎获得不同的大小。 – Drahcir 2009-11-03 22:25:56

+1

我知道......我试图弄清楚的是,如果其中一个视图大于您想分配给它的列的区域。 – 2009-11-04 01:13:34

回答

148

我有同样的问题 - 我总是只在android:stretchColumns中输入一个数字,但是您必须输入所有应该拉伸的列。所以,如果你有三列,你必须写:

android:stretchColumns="0,1,2" 

或者写:

android:stretchColumns="*" 

然后所有列将具有相同的尺寸。请注意,android:stretchColumnsTableLayout元素的属性。

+0

我试图在android中显示7 col值,但从类动态...但我安装在Android PH。并保持圆形ph值。它不能拉伸列以及XML静态。 – Siten 2011-03-30 07:20:44

+1

以及我们如何在运行时做到这一点? – Ewoks 2013-02-21 14:22:40

+2

更新:pTable.setColumnStretchable(1,true); \t pTable.setColumnShrinkable(0,true); – Ewoks 2013-02-21 14:33:25

1

您可以通过其内容的大小来控制列的大小。如果您希望它们的大小相同,请在相应的单元格中通过android:layout_width进行设置。

+3

如果内容是动态的,我不知道大小布局宽度将无法正常工作。是否有任何其他方式 – AD14 2012-01-31 12:45:24

4

使用android:layout_weight为列

16

您需要同时设置android:layout_width="0dip"android:layout_weight="1"为表行内的每个视图。我认为这是有效的,因为权重决定了各个视图所使用的行中EMPTY SPACE的比例,并且由于所有视图的宽度都设置为0dip,因此整行是空的空间,因此视图是相同的权重全部分配了全部宽度的相同比例。

0

无论谁还在寻找解决方案,对我来说: 设置列既可收缩又可拉伸的伎俩。 我和OP有几乎相同的问题。