0

所以我有一个borderContainer,里面有一个文本,文本总是向左移动2-4个像素,我需要它完全居中。

代码

<s:BorderContainer id="box" width="100%" borderWeight="0"
backgroundColor="0xffffff" borderVisible="false"
backgroundAlpha="1" horizontalCenter="1" textAlign="center">

<mx:Text id="text" fontSize="10" textAlign="center"
width="100%"/>

</s:BorderContainer>

我已经尝试了文本 Horizo​​ntalCenter 和 verticalCenter = 0 , 1 , middle , center 的所有内容,还尝试删除 100 % 在线执行各种操作,但无法使其完美居中:) 任何帮助将不胜感激

注意:文本将是 $19.99 或类似的数字 :)

4

2 回答 2

0

它可以帮助你吗?

<s:Group x="100" y="200">

    <s:Label  
        text="$19.99" 
        textAlign="center" 
        height="20" 
        width="55" 
        paddingTop="5" 
        paddingLeft="5" 
        paddingRight="5" 
        paddingBottom="5"/>

    <s:Rect width="100%" height="100%">
        <s:stroke>
            <s:SolidColorStroke color="red"/>
        </s:stroke>
    </s:Rect>
</s:Group>

我添加了一个 Rect 来向您展示真正的边框。

于 2012-12-17T20:08:36.003 回答
0

你用什么版本的flex?我刚刚尝试了您的示例(仅将白色背景替换为红色以清楚地看到居中),并且居中是完美的带有 mx:Text 的 BorderContainer。 8px 到左边框和 8px 到右边框

我用的是 flex 4.6。但是,我可能会建议您嵌入与 mx:Text 一起使用的字体 - 对于许多字体,在嵌入这些字体之前,文本测量是不正确的。

于 2012-12-18T13:58:20.193 回答