在Flex中使用HGroup时,尝试获取最后一个元素以填充剩余宽度

时间:2015-09-01 23:25:56

标签: actionscript-3 flex

我有一个HGroup,里面有7个子组。前6个子组中的每一个都将宽度/高度设置为特定值。我希望第7个元素填充HGroup的剩余宽度,所以我给它的值为100%。这只适用于应用启动时。在有问题的HGroup初始设置它的宽度后,它将不会调整大小。如果我从中侦听ResizeEvent并追踪宽度,当它大于原始宽度时,它将追踪宽度并且它确实上升(尽管内容没有调整大小),但是当我调整到下面时原始宽度,ResizeEvent停止射击。

HGroup的每个父级也将其宽度设置为100%。没有明确设置为数字。我觉得我有其他组件可以做到这一点。

我通过将最后一个元素从组中取出然后将其设置为右,顶部,底部并将其左侧绑定到HGroup的x plus width属性中的最后一个元素来“入侵”它。这有效......但我觉得我不应该这样做。

<WindowedApplication>
    <Group width="100%">
        <Group width="100%">
            <Group width="100%">
                <Group width="200" />
                <VGroup width="100%">
                    <Group width="100%">
                        <HGroup width="100%">
                            <Button width="60" />
                            <Button width="60" />
                            <Button width="60" />
                            <Button width="60" />
                            <Button width="60" />
                            <ButtonWithProblem width="100%" />
                        </HGroup>
                    </Group>
                    <Group width="100%" />
                </VGroup>
                <VGroup width="270" />
            </Group>
        </Group>
    </Group>
</WindowedApplication>

问题在于ButtonWithProblem,当应用程序加载时它的宽度被设置,并且在该点设置的宽度似乎是它的新的最小宽度,如果我调整屏幕尺寸,它只是开始缩放而不是收缩。如果我将应用程序调整得更大,那么它也不会拉伸以填充HGroup大小。

所以我通过将ButtonWithProblem从HGroup中取出并将其作为HGroup的兄弟并将其设置为顶部,右侧和底部为5然后将左侧属性绑定到HGroup的宽度(其工作,只是看似hackish)

0 个答案:

没有答案