flash显示html

用于设置格式的 CSS 方法的功能更加强大,您可以在运行时从外部文件加载 CSS 信息。当 CSS 数据位于应用程序本身以外时,您可以更改应用程序中的文本的可视样式,而不必更改 ActionScript 3.0 源代码。部署完应用程序后,可以通过更改外部 CSS 文件来更改应用程序的外观,而不必重新部署应用程序的 SWF 文件。

StyleSheet.parseCSS() 方法可将包含 CSS 数据的字符串转换为 StyleSheet 对象中的样式声明。以下示例显示如何读取外部 CSS 文件并对 TextField 对象应用其样式声明。

首先,下面是要加载的 CSS 文件(名为 example.css)的内容:

p { font-family: Times New Roman, Times, _serif; font-size: 14;}h1 { font-family: Arial, Helvetica, _sans; font-size: 20; font-weight: bold;}.bluetext { color: #0000CC;}

接下来是加载该 example.css 文件并对 TextField 内容应用样式的类的 ActionScript 代码:

package{ import flash.display.Sprite; import flash.events.Event; import flash.net.URLLoader; import flash.net.URLRequest; import flash.text.StyleSheet; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class CSS‍FormattingExample extends Sprite { var loader:URLLoader; var field:TextField; var exampleText:String = "<h1>This is a headline</h1>" + "<p>This is a line of text. <span class='bluetext'>" + "This line of text is colored blue.</span></p>"; public function CSSFormattingExample():void { field = new TextField(); field.width = 300; field.autoSize = TextFieldAutoSize.LEFT; field.wordWrap = true; addChild(field); var req:URLRequest = new URLRequest("example.css"); loader = new URLLoader(); loader.addEventListener(Event.COMPLETE, onCSSFileLoaded); loader.load(req); } public function onCSSFileLoaded(event:Event):void { var sheet:StyleSheet = new StyleSheet(); sheet.parseCSS(loader.data); field.styleSheet = sheet; field.htmlText = exampleText; } }}

加载 CSS 数据后,会执行 onCSSFileLoaded() 方法并调用 StyleSheet.parseCSS() 方法,将样式声明传送到 StyleSheet 对象。

你可能感兴趣的:(Flash)