【问题标题】:Flex 4.6: setting a textFormat on textInputFlex 4.6:在 textInput 上设置 textFormat
【发布时间】:2013-01-08 02:26:22
【问题描述】:

我正在尝试在 textInput 组件上设置 textFormat。像这样:

var testText:TextInput = new TextInput();
testText.text = "TESTING";
addChild(testText);

var tf:TextFormat = new TextFormat();
tf.leftMargin = 50;
tf.size = 20;
tf.color = 0xFF0000;
testText.setStyle("textFormat", tf);

根据adobe documentation(以及网络上的众多示例),这应该是可能的。然而,文本从未应用过它的风格。我尝试过使用 spark 和 MX TextInput(甚至是 TextArea),但结果始终相同。我错过了什么吗?或者这不再是受支持的操作?

【问题讨论】:

  • 是的,那是过去的日子。但是现在,有了皮肤、CSS 和 TLF,你可以做的高速造型真的没有什么限制了。对你来说最简单的就是定义一个 CSS 样式并使用 styleName="myStyle"。

标签: actionscript-3 apache-flex adobe flash-builder flex4.6


【解决方案1】:

注意有 3 个TextInput 类。

最后两个没有“textFormat”样式,所以上面的代码不起作用。

您可以使用 Flex 组件支持的单个样式,而不是尝试使用“textFormat”样式……这些在 Actionscript 中应用有些乏味,但在 MXML 中很容易。我链接到的文档有一个样式部分,您可以在其中查看可应用于文本的样式...

AS3:

var t:TextInput = new TextInput();
t.setStyle("fontSize", 18);
t.setStyle("color", 0xFF0000);

MXML:

<s:TextInput fontSize="18" color="0xFF0000" />

【讨论】:

  • 您还可以使用样式表(内联文件或外部文件)来减少重复。选项取决于您使用的是 mx 还是 spark。这是火花信息:help.adobe.com/en_US/Flex/4.0/UsingFlashBuilder/…
  • +1 Lee 完全同意。当我对这个问题发表评论时,请使用 CSS。
  • @JasonReeves 同意,我省略了 CSS 选项。但 OP 面临的真正问题是尝试将 Flash Pro 的 TextInput 样式应用于 Flex TextInput。无论以何种方式应用样式,这永远不会奏效。请注意 OP 提供的文档链接不是 Flex 文档,而是 Flash CS4 文档:)
  • @SunilD。是的,你的答案很明确,为什么它不起作用(这是尼克所问的)。只是同意李的观点,即 CSS 是尼克试图使用的内联样式的更好替代品。
  • 这就解释了。我所看到的只是 Actionscript,并认为我正在查看文档中的正确位置。谢谢大家!
猜你喜欢
  • 2012-06-13
  • 1970-01-01
  • 1970-01-01
  • 2012-06-10
  • 2012-11-05
  • 1970-01-01
  • 2011-12-05
  • 2014-08-25
  • 1970-01-01
相关资源
最近更新 更多