WEB开发网
开发学院图形图像Flash flash9图文混排的高度设置 阅读

flash9图文混排的高度设置

 2009-02-01 19:21:45 来源:WEB开发网   
核心提示:Flash对文本支持一直不好,特别是对html文本,flash9图文混排的高度设置,支持的更弱,这一问题直到flash10只才得到提升,这样每次change的时候重新布局就可以了,代码://舞台上添加一个文本框,可是我们的使用还主要集中在flash9,在htmlText中

Flash对文本支持一直不好,特别是对html文本,支持的更弱。这一问题直到flash10只才得到提升。可是我们的使用还主要集中在flash9。

在htmlText中,img标签不能独占文本的整个宽度,文本会和图片显示在一行,而且img只能设置左对齐和右对齐。每个图片就是一个Loader对象,通过给img标签设置id,可以用t.getImageReference (’id’)获取到img的容器。可以使用这个功能来批量的加载图片获取图片的Loader:)

在TextField里面有autoSize的属性,通过设置autoSize可以让文本自动使用内容的高度:
如果 autoSize 设置为 TextFieldAutoSize.NONE(默认值),则不会进行调整。

如果 autoSize 设置为 TextFieldAutoSize.LEFT,会将文本视为左对齐文本,这意味着该文本字段的左边距保持固定,在右边可调整单个文本字段行。 如果文本中包括换行符(例如 “\n” 或 “\r”),则会另外调整底边来适合文本的下一行。 如果 WordWrap 也设置为 true,则仅调整文本字段的底边,而右边距保持固定。

这样,设置autoSize 不为none,图片的高度就会字适应,但是,在图片在家完成之前,文本的高度不是最终高度,如果下面的内容是依赖文本位置的话,就需要侦听到文本高度的变化,可以使用change时间来侦听,每个图片加载完成,文本都会出发一个change事件,这样每次change的时候重新布局就可以了。

代码:

//舞台上添加一个文本框,设置名字为t
t.autoSize = 'center';
t.htmlText = '
<div id="blogMar">
<img src="http://tech.cncms.com/tech/UploadPic/2010911/2010911192145985.jpg" alt="" />
 <img src="http://tech.cncms.com/tech/UploadPic/2010911/2010911192145609.jpg" alt="" />
唯美小龙女惊艳写真
<img src="http://tech.cncms.com/tech/UploadPic/2010911/2010911192145498.jpg" alt="" />
 希拉里大学小样照</div>
';
//
t.addEventListener('change',htmlChange);
function htmlChange(e)
{
 trace('-----htmlChange-----')
     //可以看到,textHeight是不会改变的
 trace(t.textHeight);
 trace(t.height);
}

输出结果:-----htmlChange-----
117
121
-----htmlChange-----
117
190
-----htmlChange-----
117
251

Tags:flash 图文 高度

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接