如何调整基线垂直对齐的HGroup中图像的位置

时间:2017-04-24 02:43:18

标签: actionscript-3 flash flex

我有HGroupLabelsImageHGroup已将verticalAlign设置为baseline。所有Labels都正确排列。 Image没有。 Image太低了。

是否有属性或样式来调整Image的垂直位置?看起来HGroup使用baselinebaselinePosition来定位Labels。看起来Image具有该属性和样式,但是当我更改它时它似乎没有做任何事情。

示例代码:

<s:HGroup verticalAlign="baseline"
          top="10"
          right="10"
          left="10">
    <s:Button label="Previous"/>

    <s:Label text="Total results:" />

    <s:Image height="28" width="100"
             source="myImage.png"
             />

    <s:Spacer width="100%"/>

    <s:Button label="Next" />
</s:HGroup>

HorizontalLayout有一个名为calculateBaselineTopBottom()的方法,并在updateDisplayListReal()中调用。它似乎与baselinebaselinePosition有关。它似乎也使用alignmentBaseline。到目前为止,在我的测试中它似乎没有改变任何东西。

1 个答案:

答案 0 :(得分:1)

看起来设置baseline属性就可以了。它没有用,因为在我的测试中我传递了一个String值(好吧,它一路上被转换为String)。所以它需要作为Number传递。 baseline属性接受Objects,这就是接受StringNumber的原因。

它也接受负值。以下是有效的:

<s:HGroup verticalAlign="baseline"
          top="10"
          right="10"
          left="10">
    <s:Button label="Previous"/>

    <s:Label text="Total results:" />

    <s:Image height="28" width="100"
             source="myImage.png"
             baseline="-8"
             />

    <s:Spacer width="100%"/>

    <s:Button label="Next" />
</s:HGroup>