Android:避免TextView字符串部分换行

10

我希望避免在字符串的特定部分断行。

假设我们有以下字符串:

Speed (m/s)

理想情况下要么不跳行并且将整个字符串放在一行中,要么如果需要跳行,则应该以这种方式:

Speed
(m/s)
我想要避免的是这样的事情:

What I want to avoid are thing like this:


Speed (m/
s)

有什么想法吗?


1
https://dev59.com/HVfUa4cB1Zd3GeqPJZeW - laalto
2个回答

11

4
问题在于"(m/s)"中没有空格,但Android正试图对其进行分割... - apascual
1
由于“(m/s)”不是一个单词,Android无法自动换行。这个问题看起来比空格和单词换行问题更棘手。这里有一个类似于你的问题的问题,也许你可以参考被接受的答案。他们通过几个修改重写了TextView类似问题的链接 - YX1990
请注意,对于某些语言(如韩语、中文等),单词之间没有空格。因此,这仅适用于使用空格的语言。 - Tianyao 'Till' Chen

0

尝试这个(只是一个想法,未经测试):

  1. 使用 View.getMeasuredWidth() 计算 TextView 的宽度。
  2. 使用 Paint.measureText() 计算 String 的宽度。
  3. 比较宽度,如果需要,在“Speed”和“(m/s)”之间添加“\n”。

我更想要一个通用的情况...如果同时有多行和规则,可能会变得困难... - apascual

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接