如何在Flex中获得容器子项的总高度?

时间:2010-08-09 20:19:08

标签: flex actionscript-3

如果我有一个容器,并且我将clipContent设置为true,我如何获得其中的孩子的总高度?有没有一种方法可以做到这一点而不需要通过每个孩子进行处理并总结高度?(这对我来说真的很难,因为我有一个mx:具有可变宽度的平铺,所以我不知道它有多少行)

有什么想法吗? :)

1 个答案:

答案 0 :(得分:0)

对孩子们进行迭代:

var totalHeight : int = 0
for (i: int = 0; int < container.numChildren; i++){
 totalHeight += container.getchildAt(i).height;
}

该代码是在浏览器中编写的,未经测试。

听起来您正在使用平铺样式布局,其中平铺可能具有不同的,未知的宽度。真的吗?这甚至可能吗?如果是这样,您可能不需要容器子项的总高度,而是所有容器行的总高度。如果是这样,只需跟踪'y'变量。

这样的事情:

var totalHeight : int = 0
var largestRowHeight : int = o;
var previousY : int = 0;
for (i: int = 0; int < container.numChildren; i++){
 largestRowHeight = Math.max(largestRowHeight), container.getchildAt(i).height);
 if(previousY != container.getchildAt(i).y){
  totalHeight += largestRowHeight;
  largestRowHeight = 0;
 }
 previousY = container.getchildAt(i).y;
}

最后一位代码甚至比第一位更粗糙。