2009-05-01 33 views
11

Tôi đang cố gắng để văn bản tự động kích thước phông chữ của nó để điền vào toàn bộ thành phần văn bản.Làm cách nào để tự động thay đổi kích thước phông chữ để vừa với chiều cao/chiều rộng của hộp văn bản?

Cách tiếp cận hiện tại của tôi là đặt kích thước phông chữ làm hàm số ký tự văn bản và chiều cao và chiều rộng thành phần văn bản nhưng tôi không thể tìm được hệ số phù hợp để làm công việc này một cách độc đáo.

Có cách nào đơn giản hơn hoặc thanh lịch hơn không?

TruncateToFit có hoạt động trên Văn bản không? Tôi đọc ở đâu đó rằng nó không hoạt động tốt.

Chỉnh sửa: Tôi quên đề cập đến rằng tôi muốn nó mở rộng vượt quá kích thước phông chữ tối đa (127 tôi tin). Làm thế nào được thực hiện? scaleX?

Trả lời

21

Chức năng mẫu AS3. Bạn nên gọi nó bất cứ lúc nào nội dung của TextField của bạn thay đổi

function Autosize(txt:TextField):void 
{ 
    //You set this according to your TextField's dimensions 
    var maxTextWidth:int = 145; 
    var maxTextHeight:int = 30; 

    var f:TextFormat = txt.getTextFormat(); 

    //decrease font size until the text fits 
    while (txt.textWidth > maxTextWidth || txt.textHeight > maxTextHeight) { 
    f.size = int(f.size) - 1; 
    txt.setTextFormat(f); 
    } 

} 
+0

Tôi đã bỏ phiếu, cảm ơn mẹo. Bạn có biết cách mở rộng vượt quá 145 không? – Brandon

+0

Tôi có nghĩa là kích thước phông chữ tối đa. – Brandon

+0

Xin lỗi, tôi không làm thế nào để mở rộng kích thước phông chữ vượt quá 145 –

Các vấn đề liên quan