核心設置
EditText editText = new EditText(context);
editText.setSingleLine(false); // 關鍵:允許換行
editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE);
editText.setGravity(Gravity.START | Gravity.TOP); // 文字左上對齊
editText.setHorizontallyScrolling(false); // 禁止水平滾動,自動換行
editText.setMaxLines(Integer.MAX_VALUE); // 無行數限制
editText.setLayoutParams(new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
屬性對照表
| XML 屬性 | Java 方法 | 作用 |
| android:singleLine | setSingleLine(false) | 允許換行 |
| android:inputType | setInputType(TYPE_TEXT_FLAG_MULTI_LINE) | 鍵盤顯示換行鍵 |
| android:gravity | setGravity(TOP|START) | 文字左上對齊 |
| android:scrollHorizontally | setHorizontallyScrolling(false) | 自動換行不水平滾動 |
| android:maxLines | setMaxLines(大值) | 不限制行數 |
XML 寫法
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:gravity="top|start"
android:singleLine="false"
android:maxLines="10"
android:scrollHorizontally="false" />