我有动态文本字段,必须是固定的宽度和高度。
将填充动态文本字段的实际文本是可变的。
如果文本未在文本字段的维度内完全显示,我想要做的是减小字体大小。
关于如何准确执行此操作的任何想法?
另外,我正在使用AS 2.
由于
答案 0 :(得分:3)
这应该有效:
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);
}}
每当您更改文字时都要调用此功能。该函数的第一个参数是文本字段。第二个是您希望的字体大小(如果它太大,它将减少)。
答案 1 :(得分:1)
关于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; } }