3

我已经EditText动态创建了一个对象,但我无法创建一个 multi-line EditText。我试过这个:

EditText et1 = new EditText(this);
et1.setHint("Enter Your Address");
et1.setSingleLine(false);
et1.setHorizontalScrollBarEnabled(false);
et1.setInputType(android.text.InputType.TYPE_TEXT_VARIATION_POSTAL_ADDRESS);
et1.setLines(7);

谢谢。

4

4 回答 4

3

将其包含在您的代码中:

    et1.setMaxLines(maxlines);

或者您可以设置编辑文本的特定高度。

于 2012-06-25T10:26:00.700 回答
3

如果您希望文本换行到下一行,请将 TYPE_CLASS_TEXT 添加到 MULTI_LINE 标志:

textArea.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_FLAG_MULTI_LINE);
于 2013-08-23T22:42:39.800 回答
1

这是行:

et1.setInputType(android.text.InputType.TYPE_TEXT_VARIATION_POSTAL_ADDRESS);

那就是问题所在。把它拿出来。

除非您想设置最大行数,否则 setMaxLines 并不重要。您还应该避免将高度设置为特定的值。 WRAP_CONTENT效果很好。

甚至将其更改为:

et1.setInputType(android.text.InputType.TYPE_TEXT_FLAG_MULTI_LINE);

强制它进行单行编辑,这看起来很奇怪。
这也不起作用:

et1.setInputType(android.text.InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);

这真的很烦人。好像是安卓的bug。。。

您可能还想设置垂直滚动和重力,以便它可以上下滚动并从左上角开始。

et1.setGravity(Gravity.TOP|Gravity.LEFT);
et1.setVerticalScrollBarEnabled(true);
于 2012-06-27T17:33:40.767 回答
0

对我有用的是:

et1.setSingleLine(false);
et1.setHorizontalScrollBarEnabled(false);
et1.setVerticalScrollBarEnabled(true);
et1.setMinLines(minLines);    
于 2014-01-07T02:03:24.213 回答