簡體   English   中英

AS3文字和文字框寬度

[英]AS3 text and textbox width

我有一個動態警報方法,該方法會彈出一個警報動畫片段,告訴用戶他們的搜索未成功。

alert("Map [" + inputTxt + "] not found.");

現在,我想做一些事情

if (alertText.textWidth > myText.text.width) {
    myText.text = "Map not found.";
}

如果文本框中的總文本大小超過文本框本身,則此操作應該不顯示inputTxt變量。

我擁有的東西行不通。 我願意接受任何建議(只要它們簡短明了)。

更多信息:alertText是輸入到對象中的字符串。 myText.text是一個文本框。 我想先將alertText放入myText.text中,然后再將其放入文本框中。

-奧林

字符串沒有textWidth屬性。 除非您使用每個字符寬度相同的字體,否則沒有(簡便)的方法可以提前知道文本是否適合。

這是實現此目的的一種方法:

myText.text = alertText; //put the text in the box

if(myText.textHeight > myText.height || myText.textWidth > myText.width){
    //the text does not fit in it's entirety.
    myText.text = "Map not found.";
}

這假定您未使用textField的autoSize屬性,並且顯式設置了width / height。

如果要在將字符串輔助到目標文本字段之前對其進行檢查,則可以創建另一個字符串並使用其textFormat

var someShortText : String = "short string";
var someLongText : String = "very, very, very, very, long text";

function checkStringWidth(string : String, tMaxWidth : Number, tFormat : TextFormat) : Boolean {
    var tField : TextField = new TextField();
    tField.autoSize = TextFieldAutoSize.LEFT;
    tField.multiline = false;
    tField.wordWrap = false;
    tField.defaultTextFormat = tFormat;
    tField.text = string;
    return tField.width<=tMaxWidth;
}

trace(checkStringWidth(someShortText, someTF.width, someTF.defaultTextFormat));         
trace(checkStringWidth(someLongText , someTF.width, someTF.defaultTextFormat));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM