【发布时间】:2012-05-26 15:54:39
【问题描述】:
现在我在另一个具有相同属性的视图中拥有带有 layout_weight 的视图,这导致外部视图以指数方式计算。我正在考虑在内部视图中嵌套另一组具有权重的视图,但这会导致最外层视图的计算次数超出我的预期。我只是将区域均匀地分开(组中的每个视图都具有相同的权重),但我希望所有内容都能正确缩放,无论屏幕的大小或 DPI 是多少。有没有其他方法可以在另一个视图中有效地拆分视图?
【问题讨论】:
-
使用
layout_weight通常是最好的方法。如果您没有看到您想要的布局,那么您似乎在错误的地方使用了layout_weight或使用了错误的“权重”值。发布您的布局 XML 并说明您希望布局的外观。 -
我认为我对类似主题的回答会有所帮助:stackoverflow.com/questions/10539268/…
-
注意,这仅适用于均分布局。你可以通过嵌套越来越多的布局来做到这一点,但在某些时候它比只使用
layout_weight更好。 -
@DeeV 看起来它可以工作。我确实喜欢你建议的只是把警告搞砸的方式,我自己也这么认为,但每当在测量或计算方面提到“指数增加”这个短语时,我就会有点怀疑。
-
如果你在布局内布局内布局内布局全部使用嵌套权重,它可能会“成倍增加”。如果加载布局需要半秒钟,那么您可能需要重新考虑设计或布局方式。但是,lint 警告经常出现,以至于 90% 的警告都无关紧要。不过,在它成为问题之前,您实际上并不需要处理它。
标签: android