Flash: Flash动态文本框内动态文本内容自适应 - 我正要找的一个组件
2011-07-19 15:51
375 查看
来源:http://www.samhy.com/article/44.htm 感谢原作者!
我其实要实现这个效果~~
Flash动态文本框内动态文本内容自适应
这样一道题关于Flash的:Flash场景中有一个文本框,它的长和宽是已知的但是值不固定(可能是10×20也可能是462×139还有可能其 他),然后我们有一个字符串长度已知但是同样不固定(可能1个字也可能562个字还可能其他)。目前我们要实现,调整字的大小使这些字要填满这个文本框, 不能有滚动(字要完全显示出来)也不能空很大的空出来最好刚刚填满。
这个问题困扰了我3、4天了还是没有办法解决其中的一些问题,写下我的实现办法。
先我设想文本框和场景一样大,拖动Flash影片的时候文本框长宽自然改变,但是值也是可以通过Stage获取的。然后文本内的文字设置一个变量。现在问题就变成无论怎么拖动这个Flash,里面的自都是满满的填满了真个文本框,没有隐藏也没有太多空白。如下图
我的代码
stop();
Stage.scaleMode = “noScale”;
Stage.align = “TL”;
Stage.showMenu = false;
var i_txt:String = “其实电脑方面懂的太少其实电脑方面懂的太少其实电脑方面懂的太少”;
var t_w:Number = Stage.width-10;//减去边框霓虹灯的宽度
var t_h:Number = Stage.height-10;//减去边框霓虹灯的高度
var xn:Number = Math.ceil(Math.sqrt(i_txt.length * ((Stage.width-14) * 76) / (67 * (Stage.height-14))));//是对每行字体个数的估算,下面是对字行数的估算,问题就在这里。
var yn:Number = Math.ceil(i_txt.length/xn);
setProperty(”_root.nhd_b”, _y, Stage.height-3);//霓虹灯宽3像素,这里设置霓虹灯底部的边框
setProperty(”_root.nhd_r”, _x, Stage.width-3);//霓虹灯右边的边框
this.createTextField(”my_txt”, this.getNextHighestDepth(), 5, 5, t_w, t_h);//画出文本框
my_txt.type = “static”;
my_txt.multiline = true;
my_txt.border = true;
my_txt.wordWrap = true;
my_txt.selectable = true;
my_txt.hscroll = 0;
my_txt.text = i_txt;
var my_fmt:TextFormat = new TextFormat();
my_fmt.size = Math.floor((t_w-4)/(xn));//估算字的大小
my_fmt.color = 0xFF0000;
my_fmt.align = “left”;
my_fmt.leftMargin = 0;
my_fmt.rightMargin = 0;
my_fmt.indent = 0;
my_fmt.leading = 0;
my_fmt.letterSpacing = 0;
my_fmt.kerning = true;
my_txt.setTextFormat(my_fmt);
var sizeLis = new Object();
sizeLis.onResize = function() {
setProperty(”_root.nhd_b”, _y, Stage.height-3);
setProperty(”_root.nhd_r”, _x, Stage.width-3);
var xn:Number = Math.ceil(Math.sqrt(i_txt.length * ((Stage.width-14) * 76) / (67 * (Stage.height-14))));
var yn:Number = Math.ceil(i_txt.length/xn);
my_txt._width = Stage.width-10;
my_txt._height = Stage.height-10;
my_fmt.size = Math.floor((Stage.width-10-4)/(xn));
};
Stage.addListener(sizeLis);
来源于:http://hi.baidu.com/winnyang/blog/item/12188efaf542799058ee9018.html
新浪的微博墙真牛X
我其实要实现这个效果~~
Flash动态文本框内动态文本内容自适应
这样一道题关于Flash的:Flash场景中有一个文本框,它的长和宽是已知的但是值不固定(可能是10×20也可能是462×139还有可能其 他),然后我们有一个字符串长度已知但是同样不固定(可能1个字也可能562个字还可能其他)。目前我们要实现,调整字的大小使这些字要填满这个文本框, 不能有滚动(字要完全显示出来)也不能空很大的空出来最好刚刚填满。
这个问题困扰了我3、4天了还是没有办法解决其中的一些问题,写下我的实现办法。
先我设想文本框和场景一样大,拖动Flash影片的时候文本框长宽自然改变,但是值也是可以通过Stage获取的。然后文本内的文字设置一个变量。现在问题就变成无论怎么拖动这个Flash,里面的自都是满满的填满了真个文本框,没有隐藏也没有太多空白。如下图
我的代码
stop();
Stage.scaleMode = “noScale”;
Stage.align = “TL”;
Stage.showMenu = false;
var i_txt:String = “其实电脑方面懂的太少其实电脑方面懂的太少其实电脑方面懂的太少”;
var t_w:Number = Stage.width-10;//减去边框霓虹灯的宽度
var t_h:Number = Stage.height-10;//减去边框霓虹灯的高度
var xn:Number = Math.ceil(Math.sqrt(i_txt.length * ((Stage.width-14) * 76) / (67 * (Stage.height-14))));//是对每行字体个数的估算,下面是对字行数的估算,问题就在这里。
var yn:Number = Math.ceil(i_txt.length/xn);
setProperty(”_root.nhd_b”, _y, Stage.height-3);//霓虹灯宽3像素,这里设置霓虹灯底部的边框
setProperty(”_root.nhd_r”, _x, Stage.width-3);//霓虹灯右边的边框
this.createTextField(”my_txt”, this.getNextHighestDepth(), 5, 5, t_w, t_h);//画出文本框
my_txt.type = “static”;
my_txt.multiline = true;
my_txt.border = true;
my_txt.wordWrap = true;
my_txt.selectable = true;
my_txt.hscroll = 0;
my_txt.text = i_txt;
var my_fmt:TextFormat = new TextFormat();
my_fmt.size = Math.floor((t_w-4)/(xn));//估算字的大小
my_fmt.color = 0xFF0000;
my_fmt.align = “left”;
my_fmt.leftMargin = 0;
my_fmt.rightMargin = 0;
my_fmt.indent = 0;
my_fmt.leading = 0;
my_fmt.letterSpacing = 0;
my_fmt.kerning = true;
my_txt.setTextFormat(my_fmt);
var sizeLis = new Object();
sizeLis.onResize = function() {
setProperty(”_root.nhd_b”, _y, Stage.height-3);
setProperty(”_root.nhd_r”, _x, Stage.width-3);
var xn:Number = Math.ceil(Math.sqrt(i_txt.length * ((Stage.width-14) * 76) / (67 * (Stage.height-14))));
var yn:Number = Math.ceil(i_txt.length/xn);
my_txt._width = Stage.width-10;
my_txt._height = Stage.height-10;
my_fmt.size = Math.floor((Stage.width-10-4)/(xn));
};
Stage.addListener(sizeLis);
来源于:http://hi.baidu.com/winnyang/blog/item/12188efaf542799058ee9018.html
新浪的微博墙真牛X
相关文章推荐
- js 页面上有五个checkbox按钮,以及一个textbox文本框。当勾选文本框时textbox文本框内的内容显示为当前勾选了几个checkbox,并且显示相应的checkbox文本内容。
- Js中文本框的动态添加 展示文本 清空内容
- MFC小程序003------MFC使用WebBrowser组件,在对话框中创建滚动视图,动态创建一个静态文本控件并设置鼠标单击的消息响应
- flash中怎么制作一个按钮,当鼠标移上去就会显示文字(动态文本)?
- MFC小程序003------MFC使用WebBrowser组件,在对话框中创建滚动视图,动态创建一个静态文本控件并设置鼠标单击的消息响应
- 如何让一个文本框的内容动起来?
- 动态修改alv grid的内容的一个问题
- 窗体上有两个文本框:一个文本框中最多输入字符6个;一个文本框中输入任何内容都显示*号。再添加一个按钮、2个单选按钮。实现单击按钮后,根据单选按钮,将对应文本框中内容显示在标签
- 将一个文本文件内容反序打印出来(包含中文时)
- 【一天一个shell命令】文本内容操作系列-grep
- FireFox与IE不兼容的一个案例:FixFox中无法显示文本框内容
- 如何判断一个文本文件内容的编码格式 UTF-8 ? ANSI(GBK)
- c#,winform,验证输入内容,文本框,长度,errorprovider组件,方便,快捷
- TEXT文本编辑框4 点击按钮读取文本框内容到内表
- 编写一个JFrame窗口,要求如下: 1. 在窗口的NORTH区放置一个JPanel面板。 2. JPanel面板放置如下组件: (1) JLable标签,标签文本为“兴趣”,右边接着是三个JChec
- Flash中对动态文本框使用遮罩
- Android里面动态修改一个已经设置大小的组件修改大小的流程:
- 使用C++复制一个文本文件内容
- cell根据文本标签内容自适应高度
- C#控制台基础 file.readalllines一行一行的读取一个txt文本,把txt中的内容放到一个string数组里