Flex中的TextField大小

时间:2011-02-18 07:50:56

标签: flash flex actionscript-3 flex3 flex4

我正在将代码项目从Flash AS 3转换为Flex 4.我遇到了TextField控件的问题。放置在其中的文本不会出现。我已经彻底检查了它,它的宽度总是等于4.无论放入什么文字,它总是那么窄。我知道在Flex中,我应该明确地为所有组件提供宽度和高度,但是存在一些问题:

  1. 我不知道这样一个字段的初始大小 - 我希望它根据存储的文本自动确定其大小
  2. 还有一些其他容器包含它,它们也应该自动调整大小,因此它们具有正确的大小以显示TextField的所有内容。
  3. 由于

2 个答案:

答案 0 :(得分:1)

首先,我假设你正在使用UITextField。如果没有,请使用那个。

完成此操作后,将autoSize属性设置为TextFieldAutoSize.RIGHT,并保持宽度未定义。如果您的文本包含多行,或者文本不适合行,但您希望全部显示,则需要将字段的宽度设置为百分比,通常为100%(来自actionscript的percentageWidth,宽度来自mxml),并保持高度未定义。

如果有任何容器需要调整大小,我建议使用VBox / HBox而不是你正在使用的任何容器,并且它们的宽度(以及可能的高度)也是未定义的。

标签是使用已设置的TextField的组件,只能在一行上调整自身大小。即使您不想使用它们,也可以查看它们的源代码。

文本组件类似于Label但允许多行。我再次建议查看他们的源代码。

答案 1 :(得分:0)

也许您应该使用标签或textinput而不是文本字段。 例如<s:Label text="my text" />之类的东西。