android嵌套layout_weights

时间:2013-11-10 20:00:32

标签: android android-layout

我想在LinearLayout Vertical中使用LinearLayout Horizo​​ntal的效果。问题是我希望在水平布局中为视图设置layout_weights,为垂直视图中的视图设置layout_weights。它可以工作,但在日食中我得到一个警告,它是低效的,我不应该在另一个中使用layout_weights。


这就是我所做的:

LinearLayout inside LinearLayout

在水平LinearLayout中,每个按钮的layout_weight为1,在垂直LinearLayout中,每个内部视图也有一定的权重。

有没有办法以其他方式实现这种效果并保持灵活性以便在所有设备中看起来都很好?我不打算使用GridLayout,因为我想支持运行android的旧设备。

1 个答案:

答案 0 :(得分:1)

这只是一个警告。如果您不继续将LinearLayout包裹在另一个weigths中,依此类推,也许您可​​以忽略此警告。使用layout_weight对性能不利,因为AFAIK会导致每个widget被测量两次,而其中的每个widget会再次测量两次,依此类推。

如果您没有看到布局的性能问题,我认为您可以保留它,因为我无法看到实现此目的的其他方法。

或者,如果您想考虑使用它,还可以向后兼容GridLayout