修改 Android TextView 只在指定字符换行

Modifying Android TextView to line-break only at specified character

我想将 android TextView 修改为仅在指定字符处换行。例如,假设指定的字符是 + 并且字符串如下:

+ Apple + Banana + Coconut + Dragon fruit

文本溢出时的默认 TextView 行为

+ Apple + Banana + Coconut + Dragon
fruit (New line)

期望的行为

+ Apple + Banana + Coconut
+ Dragon fruit (New line)

我总是与自定义视图作斗争。任何帮助将不胜感激。

您应该使用名为 NO-BREAK SPACE 的 Unicode 字符:\u00A0.

示例: +\u00A0Apple +\u00A0Banana +\u00A0Coconut +\u00A0Dragon\u00A0fruit

这将在 UI 上显示为 + Dragon fruit,但不会分成两行。

这里的方法很简单,只需创建一个方法,当用户在编辑文本中输入文本时调用该方法,然后使用一个简单的 if 块,如果输入的字符与您决定的字符相同,则只需将 \n 添加到输入的文本即可。这是 java 中换行的命令 不需要任何自定义视图。 记住在编码时始终保持简单