Android中EditText无法换行问题及排版需求咨询
解决EditText多行换行问题
针对你的需求,调整EditText的属性即可实现目标效果,修改后的EditText代码如下:
<EditText android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="top" android:inputType="textMultiLine" android:imeOptions="actionNone" android:id="@+id/editText" android:layout_marginBottom="50dp" android:maxLines="999" android:scrollbars="vertical" android:singleLine="false" />
关键修改点说明:
- 移除
android:ems="10":该属性会强制EditText保持固定字符宽度,导致内容无法自动适配容器换行 - 添加
android:singleLine="false":明确禁用单行模式,确保多行功能生效 - 添加
android:maxLines="999":设置足够大的行数上限,允许文本无限换行(如需限制行数可改为具体数值) - 添加
android:scrollbars="vertical":内容超出容器高度时,支持垂直滚动查看
另外注意:你的外层是LinearLayout垂直布局,EditText的layout_alignParentTop、layout_alignParentLeft这类RelativeLayout专属属性无效,建议移除避免混淆。
修改后即可实现:
- 按下回车键时光标自动跳转到下一行,支持显示带换行符的文本
- 文本长度超出容器宽度时自动换行,不会横向延伸
内容的提问来源于stack exchange,提问作者BlackCursor
相关产品推荐
相关产品推荐

