如何在EditText控件中正确设置带换行的HTML文本?
EditText中HtmlCompat.fromHtml换行失效的解决办法
原因:HTML规范里普通的换行符
\n不会被解析为换行,需要使用HTML的换行标签<br>或者段落标签<p>。解决方法1:替换换行符为
将字符串中的\n替换成HTML换行标签,代码示例:val originalText = "first line\nsecond line" val htmlText = originalText.replace("\n", "<br>") editNote.setText(HtmlCompat.fromHtml(htmlText, HtmlCompat.FROM_HTML_MODE_COMPACT))解决方法2:直接使用
标签编写HTML文本
直接在要解析的HTML字符串中加入<br>实现换行:editNote.setText(HtmlCompat.fromHtml("first line<br>second line", HtmlCompat.FROM_HTML_MODE_COMPACT))解决方法3:使用
标签实现段落换行
如果需要段落级别的间隔,可以用<p>标签包裹每行内容:editNote.setText(HtmlCompat.fromHtml("<p>first line</p><p>second line</p>", HtmlCompat.FROM_HTML_MODE_COMPACT))额外注意:确保你的EditText开启了多行支持,在XML布局中添加属性:
<EditText android:id="@+id/editNote" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textMultiLine" />
内容的提问来源于stack exchange,提问作者DoctorWho
相关产品推荐
相关产品推荐

