是否可以格式化文本或格式化文本文档(.doc)以将Flash带入TextField
答案 0 :(得分:0)
TextField
支持一些HTML格式。您需要使用htmlText属性。它支持粗体,斜体,字体等。但字体需要在系统或嵌入式中可用。并且不完全支持img
标记。
答案 1 :(得分:0)
TextField无法做到某些事情。有一点可以肯定的是,您不能在每个字符的基础上更改背景颜色。但实际上你可以做更多的格式化,然后人们显然会想到。
这是一个非常快速和肮脏的原型,向您展示它是如何工作的。
package src
{
import flash.display.Sprite;
import flash.events.Event;
import flash.text.TextField;
import flash.text.TextFormat;
public class Main extends Sprite
{
private var tf:TextField;
private var tform:TextFormat;
private var iForm:TextFormat;
public function Main()
{
addEventListener(Event.ADDED_TO_STAGE, initMain);
}
private function initMain(e:Event):void
{
removeEventListener(Event.ADDED_TO_STAGE, initMain);
tform = new TextFormat("Arial", 12, 0);
iForm = new TextFormat("Arial", 12, 0xff0000, true, true);
tf = new TextField();
tf.defaultTextFormat = tform;
tf.text = "A sentence is just a sentence.";
tf.x = 100;
tf.y = 100;
tf.width = 300;
addChild(tf);
tf.setTextFormat(iForm, 2, 10);
// We can even change the TextFormat we used just one line above and
// reuse it for a completely different format. Finding out the starting
// and ending indexes isn't hard either. There are a few options. RegEx being my go to guy.
iForm.color = 0x0000ff;
iForm.size = 20;
iForm.italic = false;
tf.setTextFormat(iForm, 20, 29);
tf.appendText(" And yet some added text doesn't mess it up!");
}
}
}
希望这有帮助!
如果您需要的不仅仅是TextField可以提供给您的,那么您将不得不使用TLF。 (也摇滚。)
答案 2 :(得分:0)
您无法直接从.doc文件中执行此操作。您可以使用有限的HTML子集来完成它。 TextField.htmltext支持
< a>链接
< b>粗体
<我>斜体
<你>下划线
< img>图像内嵌
< font face =“Arial”size =“18”color =“#FFCC00”>字体标签。
< ul> li>无序列表(项目符号点)
因此,如果您的格式使用上述html标记,则可以导入格式化文本。 如果您从XML中引入文本 - 将导入的文本包装在标记中通常很有用,以避免转义字符,例如“<”和“&”。