动态文本 - 字体自动调整大小
问题描述:
我有动态文本字段,必须是固定的宽度和高度。动态文本 - 字体自动调整大小
将填充动态文本字段的实际文本是可变的。
我想要做的就是减小字体的大小,如果文本没有完全显示在文本字段的尺寸。
关于如何准确执行此操作的任何想法?
另外,我使用的AS 2.
感谢
答
这应该工作:
function updateFontSize(tField:TextField, defaultSize:Number) {
var tFormat:TextFormat = new TextFormat();
tFormat.size = defaultSize;
tField.setTextFormat(tFormat);
var size:Number = defaultSize;
while((tField.textWidth > tField._width || tField.textHeight > tField._height) && size > 0) {
size = size - 1;
tFormat.size = size;
tField.setTextFormat(tFormat);
}}
调用此函数,只要你改变你的文字。该功能的第一个参数是文本字段。第二种是你喜欢的字体大小(如果它太大,会减小)。
答
上SomeBloke的代码之后,下面是使用另一种方法缩放
//set the TextField width & height var fixedWidth:Number = 200; var fixedHeight:Number = 24; function scaleTextToSize(tField:TextField, defaultScale:Number) { //You can fine tune the amount of scaling here var amount:Number = .1; var scale:Number = defaultScale; while((tField.width > fixedWidth || tField.height > fixedHeight)) { scale -= amount; tField.scaleX = tField.scaleY = scale; } }