快速业务通道

flash9对html文本的支持

作者 凌众技术 来源 网页制作 浏览 发布时间 2012-03-09

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://img1.qq.com/blog/pics/15261/15261128.jpg" alt="" />
 <img src="http://img1.qq.com/blog/pics/15256/15256935.jpg" alt="" />
唯美小龙女惊艳写真
<img src="http://img1.qq.com/blog/pics/15250/15250542.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

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号