2011-03-13 38 views
0

我的布局是这样的:将TableRow与不同的表对齐?

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

我有一个TableLayout内的TableLayout。第一次加载时,内部TableLayout可见性设置为“已完成”。所以它只是一个TableRow。当用户单击单个TableRow时,它将内部TableLayout的可见性更改为Visible。

问题是,第一个TableRow中的列不与其他TableRow对齐。我怎么能让他们全部排队?

我在里面使用了另一个TableLayout,这样我就可以简单地在该TableLayout上设置可见性,而不必在所有行和间隔符上执行该操作。也许有更好的方法?

回答

0

看起来你可能会试图使用<TableLayout />超出它通常推荐的范围。如果您没有列出表格数据(如电子表格),我强烈建议您尝试根据<RelativeLayout />重新考虑您的布局。 RelativeLayouts将帮助您减少布局中的视图数量,从而提高性能。在相互关系中定义所有视图(使用RelativeLayout)也将帮助您的布局缩放到不同大小的屏幕。

+0

也许一个LinearLayout将适用于每列。您还可以使用LinearLayout和layout_weight参数来使事物的大小相等:http://stackoverflow.com/questions/3609822/best-practices-for-targetting-a-wide-range-of-devices-and -screen-尺寸/ 3610381#3610381 – 2011-03-13 20:47:12