2017-04-24 30 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>