如何在android中制作多行edittext

时间:2012-07-31 12:45:15

标签: android android-edittext multiline

我尝试使用LayoutParams.MATCHPARENT为其宽度和高度动态创建一个edittext。 我尝试了以下代码,但它仍然无效。

EditText editor = ....;
LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 1);
editor.setLayoutParams(params);
editor.setGravity(Gravity.LEFT | Gravity.TOP);
editor.setBackgroundColor(Color.WHITE);
editor.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);
editor.setTextColor(Color.BLACK);
//editor.setSingleLine(false);
editor.setFocusableInTouchMode(true);
editor.setInputType(EditorInfo.TYPE_CLASS_TEXT | EditorInfo.TYPE_TEXT_FLAG_MULTI_LINE | EditorInfo.TYPE_TEXT_FLAG_IME_MULTI_LINE);
editor.setMaxLines(Integer.MAX_VALUE);
editor.setHorizontallyScrolling(false);
editor.setTransformationMethod(null);

上面的代码让我输入几行,键盘上会显示一个“ENTER”按钮,但是当我在edittext上输入时,如果宽度不足以显示文本,则编辑文本会水平滚动。 任何人都可以帮我如何使edittext多线?

4 个答案:

答案 0 :(得分:8)

尝试以下代码

editor.setSingleLine(false);
editor.setHorizontalScrollBarEnabled(false);

答案 1 :(得分:5)

试试此代码

    txt.setSingleLine(false);
    txt.setLines(14);
    txt.setMinLines(13);
    txt.setMaxLines(15);
    txt.setGravity(Gravity.LEFT | Gravity.TOP);

答案 2 :(得分:1)

尝试

android:scrollHorizontally="false"

用于edittext

答案 3 :(得分:1)

在代码中添加以下行,它可能对您有帮助。

editor.setSingleLine(false);