【问题标题】:How to prevent Android TextView from breaking text that follows a specific pattern into multiple lines?如何防止 Android TextView 将遵循特定模式的文本分成多行?
【发布时间】:2015-11-11 16:58:11
【问题描述】:

我正在创建一个 Android 应用,我需要提供一些数据。数据为文本格式,将以TextView 的形式呈现,下面是如何格式化的示例:

一些词,一些词,甚至更多/词

我的问题是当句子足够长时,TextView 会自动将文本换成两行。我希望这个换行发生,但不是在它发生的地方。换行可以在 even 和 more/words 之间的空格处创建,或者在 even more/words 中的斜线之后创建,
但我希望换行出现在此文本之前(更多/单词),在逗号之后。空间也是如此。 基本上,我希望文本不要在任何其他地方换行,而不是在任何逗号之后。

这里有一些关于如何包装文本的示例,以及在每种情况下我想要它的方式。


例子

一些文字,一些文字,一些
更多/文本

想要的结果

一些文字,一些文字,
更多/文本


例子

一些文字,一些文字,还有一些/
文字

想要的结果

一些文字,一些文字,
更多/文本


例子

一些文字,一些
文字,更多/
文字

想要的结果

一些文字,
一些文字,
更多/
文字


我查看了 TextView-class 的 Android 源代码并试图找到完成换行的位置,以便我可以覆盖该方法并以某种方式为其添加我自己的“规则”,但是我找不到它。我也用谷歌搜索了它,但我找不到任何有用的东西。

希望够清楚!

【问题讨论】:

    标签: android textview word-wrap


    【解决方案1】:

    为此,您可以使用 Html.fromHtml("")在设置文字的时候。

    例子:

    textview.setText(Html.fromHtml("First line,<br/>Second line"))
    

    结果:

    第一行,

    第二行

    【讨论】:

    • 这无济于事,因为我不希望这种情况自动发生,这样它就可以在一行中容纳尽可能多的“部分”(用逗号分隔),并且当它已满时,它创建一个新行并放置下一部分。
    猜你喜欢
    • 1970-01-01
    • 2021-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    • 1970-01-01
    • 2019-09-30
    • 2014-07-30
    相关资源
    最近更新 更多