From 3155dcbfc5d3361227188a490669c9fc297cb912 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Fri, 7 Dec 2018 16:08:21 +0800 Subject: [PATCH] Auto adjust textbox width --- docs/element.md | 2 +- libs/ui.js | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/element.md b/docs/element.md index 5a7189a3..e3388285 100644 --- a/docs/element.md +++ b/docs/element.md @@ -318,7 +318,7 @@ floorId指定的是目标楼层的唯一标识符(ID)。 另外一点是,V2.5.2以后,对话框`\b`可以根据文字长度来自动控制文本框宽度,其基本控制原理如下: - 如果用户存在手动换行`\n`,则选取**最长的一段话**作为文本框宽度。 -- 如果用户不存在手动换行,则会将文本框宽度调整为**尽量刚好达到三行**的最佳宽度。 +- 如果用户不存在手动换行,则会将文本框宽度调整为X行半的最佳宽度。 - 文本框宽度存在上下界,最终宽度一定会控制在该范围内。 该自动调整仅对`\b`的对话框效果有效。非对话框仍然会绘制整个界面的宽度。 diff --git a/libs/ui.js b/libs/ui.js index 5eb60157..1be9ee61 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -404,7 +404,9 @@ ui.prototype.calTextBoxWidth = function (canvas, content, min_width, max_width) // 如果不存在手动换行,则二分自动换行 if (allLines.length == 1) { var w = core.canvas[canvas].measureText(allLines[0]).width; - return core.clamp(w / 2.4, min_width, max_width); + if (w