TextField で CSS 適用済み HTML を表示する
HTML タグに関してはあえて対応していないタグを使用(もちろん推奨されません)。
id 属性は使用できないっぽい?
Flash Player で対応している HTML タグ一覧
http://livedocs.adobe.com/flex/3_jp/langref/flash/text/TextField.html#htmlText
Flash Player で対応している CSS プロパティ一覧
http://livedocs.adobe.com/flex/3_jp/langref/flash/text/StyleSheet.html
...
@author tkinjo
/**
* Copyright tkinjo ( http://wonderfl.net/user/tkinjo )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/7LvS
*/
package
{
/**
* HTML タグに関してはあえて対応していないタグを使用(もちろん推奨されません)。
* id 属性は使用できないっぽい?
*
* Flash Player で対応している HTML タグ一覧
* http://livedocs.adobe.com/flex/3_jp/langref/flash/text/TextField.html#htmlText
*
* Flash Player で対応している CSS プロパティ一覧
* http://livedocs.adobe.com/flex/3_jp/langref/flash/text/StyleSheet.html
*/
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.text.StyleSheet;
import flash.text.TextField;
[SWF(width="465", height="465", frameRate="60", backgroundColor="0xffffff")]
/**
* ...
* @author tkinjo
*/
public class Main extends Sprite
{
/**
*
*/
public function Main()
{
var htmlTextField:TextField = new TextField();
htmlTextField.width = stage.stageWidth;
htmlTextField.height = stage.stageHeight;
htmlTextField.multiline = true; //フィールドが複数行テキストフィールドであるかどうかを示します。
htmlTextField.condenseWhite = true; //HTML テキストが含まれるテキストフィールド内の余分な空白(スペース、改行など)を削除するかどうかを指定するブール値です。
addChild( htmlTextField );
//var htmlLoader:URLLoader = new URLLoader();
//htmlLoader.addEventListener( Event.COMPLETE, function( event:Event ):void {
//
//htmlTextField.htmlText = htmlLoader.data;
//} );
//
//var cssLoader:URLLoader = new URLLoader();
//cssLoader.addEventListener( Event.COMPLETE, function( event:Event ):void {
var styleSheet:StyleSheet = new StyleSheet();
//styleSheet.parseCSS( cssLoader.data );
styleSheet.parseCSS( cssText );
htmlTextField.styleSheet = styleSheet;
// スタイルシート読み込み後にテキストフィールドのテキストを設定しなければスタイルシートは設定されない。
//htmlLoader.load( new URLRequest( "assets/news.html" ) );
//} );
//cssLoader.load( new URLRequest( "assets/style.css" ) );
htmlTextField.htmlText = htmlText;
}
private const cssText:String = 'dl{display:block;font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"MS Pゴシック","MS PGothic",sans-serif;}dt{display:block;font-weight:bold;}dd{display:block;text-indent:10;}';
private const htmlText:String = '<dl><dt>2009年06月01日</dt><dd>a</dd><dt>2009年06月02日</dt><dd>b<br/>c<br/>d</dd><dt>2009年06月03日</dt><dd>e<br/>f</dd><dt>2009年06月04日</dt><dd>g<br/>h</dd></dl>';
}
}