Luar's Flash Playground:根據行數省略TextField文字
根據行數省略TextField文字 (30-03-2010)

在AS3之前,在TextField上,只可以用substr去縮短string的字元數量,但要事先估計一個抽取數量來配合UI版面上設計。例如只顯示2行,我們要根據字體大小時、字款去估計最多可以顯示多少字元,中英文字混排更加麻煩,這近乎沒有可能做到的事情。

直到AS3,TextField類別提供了新方法getLineLength(),它可以知道每行字元數量。所以我寫了這個類別去幫我限制TextField顯示行數。

下載MaxRowsTextField類別檔案
下載示範源檔案

用法
這類別是繼承自TextField類別:

var tf:MaxRowsTextField = new MaxRowsTextField();
tf.width = 290;
tf.multiline = tf.wordWrap = true;

// 0 指無限制,預設值是0
tf.maxRows = 4;

// 改變省略符號,預設值是"..."
tf.moreStr = "...(more) ";

// 如要行數省略功能,請用text2,否則可以用原來的text或htmlText
tf.text2 = "This is a vey long message"

這個Class是由我的VCASMO 2.0 計劃抽出和簡化出來。

本文章由發表。
同組文章