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

时间:2018-03-10 19:32:40

标签: javascript appcelerator jtextarea appcelerator-alloy

我需要实现textarea的动态高度,期望用户输入注释。我在WhatsApp上看到了textArea这样的交互。 当用户输入应该增加的文本时,文本区域最初将在1行高。但文本区域的高度不应超过3行。

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

我会用这样的东西:

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

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

修改

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

票证和公关包含此功能: