2012-07-05 78 views
0

我正在建立一个布局,我正在基于一组对象添加(通过for-loop)。问题是如果说有3个字段(列),如果中间字段在第一个字段中的文本长度比在第二个字段中长一些......第一个字段中的中间字段将消耗更大的宽度,即使我已经已经为该中心列定义了weightSum和layout_weight。我的问题是,当像这样动态地添加行时,我如何确保它们的最终宽度与XML中定义的完全相同?生成动态线性布局时的强制宽度

回答

1

你为什么不设定一个固定的宽度?

正如

setWidth(int width)

编辑:

到像素转换为dpi的计算公式为:

truePixels = DIPs * (device DPI/160)

下面来看看如何让screen dpi.

Docs有关支持多种屏幕。

+0

因为我的布局是使用指定的重量,所以我没有得到不同的奇怪的结果大小的设备屏幕。如果我设置实际尺寸,则可能会在较小的屏幕上出现布局问题,而平板电脑屏幕可能会导致布局问题 – RyanInBinary 2012-07-05 16:08:55

+0

您可以使用DPI,因此它可以与不同的屏幕兼容。 – 2012-07-05 16:09:31

+0

当你使用setWidth它正在寻找一个dpi的值?我以为它是在像素 – RyanInBinary 2012-07-05 16:12:41

0

如果您使用XML布局行则:

android:layout_width="0" 

如果一切程序完成,然后setWidth(0)