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

34gzjxbg  于 2022-11-01  发布在  Apache
关注(0)|答案(1)|浏览(165)

我有一个HGroup,其中有几个Labels和一个ImageHGroupverticalAlign设置为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。到目前为止,在我的测试中,它似乎没有改变任何东西。

yc0p9oo0

yc0p9oo01#

看起来好像是设置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>

相关问题