flash9图文混排的高度设置
2009-02-01 19:21:45 来源:WEB开发网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
- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接