2017-04-24 60 views
0

我有HGroup几个LabelsImageHGroup已将verticalAlign设置为baseline。所有Labels正确排列。 Image没有。 Image太低了。如何调整HGroup中的图像在基线上垂直对齐的位置

是否有一个属性或风格来调整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

它看起来像设置baseline属性做它。这不起作用,因为在我的测试中,我通过了一个String值(当然,它一直转换为String)。所以它需要通过Numberbaseline属性接受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>