ActionScript 3 截断文本字段中的溢出文本并添加省略号(...)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ActionScript 3 截断文本字段中的溢出文本并添加省略号(...)相关的知识,希望对你有一定的参考价值。
import flash.text.TextField;
var t : TextField = new TextField();
t.text = "Now is the time for all good men to come to the aid of their party."
t.width = 100;
t.height = 40;
t.border = true;
//t.multiline = true;
//t.wordWrap = true;
truncate( t );
addChild( t );
function truncate( textField : TextField, addElipsis : Boolean = true, ellipsis : String = "\u2026" ) : void
{
var tempTextField : TextField;
if ( ! textOverflowing( textField ) ) return;
tempTextField = copyTextField( textField );
while( textOverflowing( tempTextField, ellipsis ) )
tempTextField.text = tempTextField.text.substr( 0, tempTextField.text.length - 1 );
tempTextField.appendText( ellipsis );
textField.text = tempTextField.text;
}
function textOverflowing( textField : TextField, suffix : String = null ) : Boolean
{
var margin : Number = 4; //Flash adds this to all textfields;
var tempTextField : TextField = copyTextField( textField );
if ( suffix ) tempTextField.appendText( suffix );
if ( tempTextField.textWidth > tempTextField.width - margin
|| tempTextField.textHeight > tempTextField.height - margin ) return true;
return false;
}
function copyTextField( original : TextField ) : TextField
{
var copy : TextField = new TextField();
copy.width = original.width;
copy.height = original.height;
copy.multiline = original.multiline;
copy.wordWrap = original.wordWrap;
copy.embedFonts = original.embedFonts;
copy.antiAliasType = original.antiAliasType;
copy.autoSize = original.autoSize;
copy.defaultTextFormat = original.getTextFormat();
copy.text = original.text;
return copy;
}
以上是关于ActionScript 3 截断文本字段中的溢出文本并添加省略号(...)的主要内容,如果未能解决你的问题,请参考以下文章
ActionScript 3 限制文本字段中的行
ActionScript 3 查找和更改变量或文本字段中的文本
ActionScript 3 限制输入文本字段中的行数
字段集中的溢出和文本溢出
文本溢出截断省略
文本溢出截断省略