我有以下代码(textinput)。
<s:TextInput id="label"
text="just testing"
width="100%"
height="200"
contentBackgroundColor="#aaaaaa"
styleName="normalText">
</s:TextInput>
我很难找到如何将文本("只是测试")与顶部对齐。我查看了Adobe文档,但似乎没有可用于此属性的垂直对齐属性。
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/controls/TextInput.html
我意识到有一个文本区域组件可用,但由于性能原因,我需要使用文本输入。
顶部填充似乎适用于mx
<mx:TextInput
id="txt"
paddingTop="5"
text="I am Vertically aligned text"
textAlign="center"
width="250"
height="250">
</mx:TextInput>
如有任何提示,我们将不胜感激。
谢谢!
快速版本
如果字体大小从不变化,那么只使用paddingBottom
就足够了。由于默认情况下垂直对齐设置为middle
,因此仅减少paddingTop
不足以将文本充分上移;默认情况下,它设置为1px。你也必须增加paddingBottom
。我不能给你确切的数字:这取决于字体的大小,所以你必须稍微考虑一下这些值。
<s:TextInput paddingBottom="6"/>
可重复使用版本
如果您希望您的解决方案可与任何类型的字体重复使用,则必须为TextInput创建一个自定义皮肤。幸运的是,这并不太难:
- 查找
spark.skins.spark.TextInputSkin
- 复制它并给它一个新名称,比如
my.skins.TopTextInputSkin
- 查找id为
textDisplay
的RichEditableText
标签(位于底部) - 将其
verticalAlign
属性设置为top
- 涂抹新皮肤:
<s:TextInput skinClass="my.skins.TopTextInputSkin"/>