as3 TextField自动调整高度

本文介绍了一种在Flash中精确计算多行文本高度的方法,并通过示例代码展示了如何实现文本的自动换行及高度调整,确保文本完整显示。

测试时用的代码

var string:String = new String();
string = "●本节教学的重点是有理数的概念.\n●建立正数、负数的概念对学生来说是数学抽象思维的一次重大飞跃,是本节教学的难点.\n●建立正数、负数的概念对学生来说是数学抽象思维的一次重大飞跃,是本节教学的难点.\n●建立正数、负数的概念对学生来说是数学抽象思维的一次重大飞跃,是本节教学的难点.\n●建立正数、负数的概念对学生来说是数学抽象思维的一次重大飞跃,是本节教学的难点.\n●建立正数、负数的概念对学生来说是数学抽象思维的一次重大飞跃,是本节教学的难点.\n●建立正数、负数的概念对学生来说是数学抽象思维的一次重大飞跃,是本节教学的难点.\n●建立正数、负数的概念对学生来说是数学抽象思维的一次重大飞跃,是本节教学的难点.\n●建立正数、负数的概念对学生来说是数学抽象思维的一次重大飞跃,是本节教学的难点.";
putWord(getHeight(string)+14,string);
function getHeight(string:String):Number
{
	var MenuTxt_tmp:TextField = new TextField();
	var MenuTxt_TextFormat:TextFormat = new TextFormat();
	MenuTxt_tmp.name = "toom";
	MenuTxt_tmp.width = 160;
	MenuTxt_tmp.text = string;

	MenuTxt_tmp.multiline = true;

	MenuTxt_tmp.wordWrap = true;//自动换行

	MenuTxt_TextFormat.leading = 7;
	MenuTxt_TextFormat.font = "宋体";
	MenuTxt_TextFormat.size = 14;
	MenuTxt_tmp.setTextFormat(MenuTxt_TextFormat);
	return MenuTxt_tmp.textHeight;
}
function putWord(wordHeight:Number,string:String):void
{
	var MenuTxt_tmp:TextField = new TextField();
	var MenuTxt_TextFormat:TextFormat = new TextFormat();
	MenuTxt_tmp.name = "tom";
	MenuTxt_tmp.x = 100;
	MenuTxt_tmp.y = 100;
	MenuTxt_tmp.width = 160;
	MenuTxt_tmp.height = wordHeight;
	MenuTxt_tmp.text = string;
	MenuTxt_tmp.multiline = true;
	MenuTxt_tmp.wordWrap = true;
	MenuTxt_TextFormat.leading = 7;
	MenuTxt_TextFormat.font = "宋体";
	MenuTxt_TextFormat.size = 14;
	MenuTxt_tmp.setTextFormat(MenuTxt_TextFormat);
	addChild(MenuTxt_tmp);
}


实际项目中用的代码。注意把字体的高度加上来

var string:String = new String();
string = "●本节教学的重点是有理数的概念.\n●建立正数、负数的概念对学生来说是数学抽象思维的一次重大飞跃,是本节教学的难点.";


var MenuTxt_tmp:TextField = new TextField();
var MenuTxt_TextFormat:TextFormat = new TextFormat();
MenuTxt_tmp.name = "tom";
MenuTxt_tmp.x = 100;
MenuTxt_tmp.y = 100;
MenuTxt_tmp.width = 160;
MenuTxt_tmp.text = string;
MenuTxt_tmp.multiline = true;
MenuTxt_tmp.wordWrap = true;
MenuTxt_TextFormat.leading = 7;
MenuTxt_TextFormat.font = "宋体";
MenuTxt_TextFormat.size = 14;
MenuTxt_tmp.setTextFormat(MenuTxt_TextFormat);
MenuTxt_tmp.height = MenuTxt_tmp.textHeight+14;//注意把字体的size加上来
addChild(MenuTxt_tmp);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值