apache-flex - 在 Flex 中调整容器大小的最佳方法是仅遵循父容器的显式尺寸

标签 apache-flex flash layout

近一年来我一直在使用 Flex 时遇到这个问题,每次我都会找到一个暂时有效的快速破解解决方案。我想看看是否有人有更好的想法。

以下是问题的条件:

|------Container  ------------|
|  explicitHeight:  400 (or whatever)
|                             |
|  |-------- VBox  -------|   |
|  |  percentHeight: 100  |   | 
|  |                      |   |
|  |  |-Repeater------|   |   |
|  |  | Potentially   |   |   |
|  |  | a lot of stuff.   |   |
|--|--|---------------|---|---|

问题是,与我希望发生的情况相反,VBox 将始终扩展以容纳其中的内容,而不是坚持其父级的显式高度并创建滚动条。

我的解决方案是在对父级的引用中进行硬编码(或者无论我们需要在显示列表中找到一个明确设置的值而不是百分比)。

我什至考虑过在实用程序类中使用它:

public static function getFirstExplicitHeightInDisplayList(comp:UIComponent):Number{
    if (!isNaN(comp.explicitHeight)) return comp.explicitHeight;
    if (comp.parent is UIComponent) return    
         getFirstExplicitHeightInDisplayList(UIComponent(comp.parent));
    else return 0;
}

请告诉我有更好的方法。

最佳答案

设置 minHeight = 0 即可。

这告诉 VBox 在调整自身大小时忽略其子级的测量值,并根据其自身/其父级约束来计算其高度。像平常一样设置其他一切,滚动和其他一切都会完美运行。

一年前花了几天时间在这个上 - 这并不直观,他们可能可以更好地命名该属性。希望这可以节省你们一些时间...

关于apache-flex - 在 Flex 中调整容器大小的最佳方法是仅遵循父容器的显式尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/245292/

相关文章:

android - 文本输入在 Flex Mobile 项目中显示 block 而不是阿拉伯文本

apache-flex - Adobe Air 使用什么版本的 WebKit?

java - 在 FXML 中设置节点layoutProperty()

java - 在 Bitmap 中加载尺寸大于 2880 的图像

apache-flex - 使用多个模块时优化 Flex

ios - 使用外部数据库的 iOS flash 应用程序指南

android - "Exception raised during rendering: column indices (start + span) mustn' t 超出了列数。 “

wpf - WPF中的绑定(bind)和布局关系

flash - 我应该怎么做才能在 Flash Builder 中使用 .as3proj 文件?

javascript - 无法加载 swf 文件运行时