快速业务通道

创建个性化TextField

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-12


动态创建文本字段是每个Flasher都习惯做的事情,我想很多Flasher都会像我一样,很多时候在动态创建文本字段时,都是createTextField,然后设定文本内容及TextFormat对象,文本字段(TextField)对象的宽度和高度设定得越大越好或者需要时调整一下_width、_height,从来没去考虑文本字段对象大小与显示的文本内容是否真正的合适和匹配。
下午翻阅文档时不经意从MM的帮助中看到了相关代码,作了一点修改,贴出来分享一下,了解的朋友可以温习一下,呵呵。

CODE:
/**
* 示例一
* 此示例创建一个单行文本字段,其大小刚好足够使用指定格式显示一个文本字符串。
*/
var text_str:String = "Merry Christmas and Happy New Year to Everyone";
// 创建一个TextFormat 对象
var txt_fmt:TextFormat= new TextFormat();
// 为该TextFormat 对象指定格式属性
txt_fmt.font = "Arial";
txt_fmt.color = 0xFF0000;
txt_fmt.bold = true;
// 获取该文本字符串使用指定格式时的度量信息
var metrics:Object = txt_fmt.getTextExtent(text_str);
// 使用刚刚获取的度量信息创建一个新的TextField 对象
this.createTextField ("singleline_txt", 0, 10, 10, metrics.textFieldWidth, metrics.textFieldHeight);
singleline_txt.border = true;
// 设定文本字段是否自动换行,默认为不自动换行
//singleline_txt.wordWrap = true;
// 将相同的文本字符串和 TextFormat 对象分配给singleline_txt 对象
singleline_txt.text = text_str;
singleline_txt.setTextFormat(txt_fmt);/**
* 示例二
* 下面的示例创建一个100 像素宽的多行文本字段,其高度足够使用指定的格式显示一个字符串。
*/
// 创建一个TextFormat 对象
var txt_fmt:TextFormat= new TextFormat();
// 为该TextFormat 对象指定格式属性
txt_fmt.font = "Arial";
txt_fmt.color = 0xFF0000;
txt_fmt.bold = true;
txt_fmt.leading = 4;
// 要显示的文本字符串
var textToDisplay_str:String = "Merry Christmas and Happy New Year to Everyone";
// 获取该文本字符串使用指定格式时的度量信息
var metrics:Object = txt_fmt.getTextExtent(textToDisplay_str, 100);
// 使用刚刚获取的度量信息创建一个新的TextField 对象
this.createTextField ("multiline_txt", 1, 50, 50-metrics.ascent, 100, metrics.textFieldHeight);
multiline_txt.wordWrap = true;
multiline_txt.border = true;
// 将相同的文本字符串和 TextFormat 对象分配给multiline_txt 对象
multiline_txt.text = textToDisplay_str;
multiline_txt.setTextFormat(txt_fmt);附:fla源文件下载 关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号