如何在 Titanium appcelerator 中将 textArea 的高度动态增加到 3 行高(就像 whatsApp 消息框一样)?

How to increase height of textArea dynamically upto 3 line height (Just like whatsApp message box) in titanium appcelerator?

我需要实现期望用户键入评论的文本区域的动态高度。我在 WhatsApp 上看到过这样的 textArea 交互。 文本区域最初为 1 行高,稍后当用户输入文本时它应该增加。但文本区域不应增加超过 3 行高。

我会使用这样的东西:

$.textArea.height = $.textArea.font.fontSize * 3 // plus some padding

添加一个填充,否则它会太小。 fontSize * 3 是 3 行的最小值。

编辑

如评论中所述。目前无法在 Titanium 中为 TextField 设置 maxLines。所以它不会动态工作。

包含此功能的票证和 PR:

截至目前,我使用了一种解决方法来实现这一点。

var _lines = textFieldValue.split(/\r\n|\r|\n/).length;
if(_lines > 3 || textFieldValue.length > 90) {
$.textAreaDescriptionId.height = "80dp";
} else {
  $.textAreaDescriptionId.height = Titanium.UI.SIZE;
}