如何影响Android Textview中的换行符

如何影响Android Textview中的换行符,android,android-layout,textview,android-appwidget,line-breaks,Android,Android Layout,Textview,Android Appwidget,Line Breaks,我有一个Appwidget,显示发生以下事件之前的天数: 事件名称(-231天) 如果可能的话,我想在一行中显示这个字符串。 如果eventname太长,我想在新行中用大括号显示完整的术语。 所以它就像: longeventname (-231天) 而不是: longeventname(-231 天) (或任何类似情况) 有没有办法存档? 我能制造(-231天)“原子弹”吗 string.getLength不起作用,因为小部件的大小因设备而异。您可以使用介于数字和“天”之间的数字 这是 

我有一个Appwidget,显示发生以下事件之前的天数:

事件名称(-231天)

如果可能的话,我想在一行中显示这个字符串。 如果eventname太长,我想在新行中用大括号显示完整的术语。 所以它就像:

longeventname
(-231天)

而不是:

longeventname(-231
天)

(或任何类似情况)

有没有办法存档? 我能制造(-231天)“原子弹”吗

string.getLength不起作用,因为小部件的大小因设备而异。

您可以使用介于数字和“天”之间的数字


这是
 
表示XML中的字符串,或者
\u00A0
表示Java代码中的字符串。

完美!这正是我要找的。“\u00A0”在Textview中工作得非常好。对于做类似事情的人,这里有两个有用的提示:第一,还有一个非中断减号(\u2011),第二,你可以在一个单词内使用零宽度的空格作为可能的换行符。请注意:这似乎在大多数情况下都有效。然而,如果前面有一个句号,即使是一个非中断的空间也会有点中断(遗憾的是,没有非中断的句号)。因此,如果你正在为关心排版的人使用像“P.Howard”这样的缩写,那么这不是一个选项,也许你想要a而不是负号。