Egret社区

[Egret Engine] 设置富文本样式,文本框不能正常换行

2018-7-24 11:01
11063
产品 Egret Engine 版本 5.2.5
复现概率 100% 平台 Windows windows10
复现步骤 见错误代码及附件
问题描述 给文本框设置样式后,换行显示错误
错误代码 var label:egret.TextField=new egret.TextField();
this.addChild(label);
label.border=true;
var str:string="test测试<font size=45>大</font>jiancha<font size=45>大</font>哈哈哈<font size=150>大</font><font size=45>大</font>jlajsdkljflajfllkjaldsjfltest测\n\n试<font size=45>大</font>jiancha<font size=45>大</font>哈哈哈<font size=45>大</font>jlajsdklj测试testflajf<font size=150>大</font>llkjaldsjfl";
var parser:egret.HtmlTextParser=new egret.HtmlTextParser();
label.textFlow=parser.parse(str);
if(label.width>650)
{
label.width=650;
}
BUG截图
如截图所示,红框部分是换行,但是行距却是最下面的那个大字那么多

richtext.rar

655.87 KB, 下载次数: 0, 下载积分: 银子 -1

分享到 :
0 人收藏

3 个回复

倒序浏览
yzx090002  登堂入室 | 2018-8-14 10:47:28
这个原因是 因为 最后一行的“大”字本应该在上一行,所以换行后行距 以这个大字为依据,但是 此时 这一行的宽度超出了你所设置的宽度,进行强制换行,按照代码从上往下的执行逻辑,所以运行为这种结果 ,你可以尝试调节  最后一个“大”字的size,得以论证,新手意见,

点评

为自己敢于发言点个赞吧  发表于 2018-8-14 10:49
SkyCross  略有小成 | 2018-8-14 18:27:14
yzx090002 发表于 2018-8-14 10:47
这个原因是 因为 最后一行的“大”字本应该在上一行,所以换行后行距 以这个大字为依据,但是 此时 这一行 ...

是的,应该是这个问题,但是换行后引擎没有更新行信息,导致上一行的最大高度错误
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号

Powered by Discuz! X3.2 © 2001-2019 Comsenz Inc.

返回顶部