2012-07-18 60 views
0

有没有什么方法可以通过Android中的字母在TextView中携带文本?Android TextView通过字母携带文本

如果没有设置设置 - TextView通过文字传送文本,并且当文字太长时,情况是可能的,您在TextView中有很大的空白。

例子 - 我在说一下: Carry text by words

回答

0

不知道如果我理解正确的,你想要什么,但我估计....如果你想在一个单行显示的TextView,如果没有“打破”这个句子,你应该添加android:singleLine="true"到TextView。

否则,您可以用空格替换“_”字符,在这种情况下,我相信它将带有文本,最后一个空格。

+0

是的,解决方案“用空格替换_”字符,在这种情况下,我相信它将带有文本“是可能的,但在这种情况下是不可能的 - 文本只是文件名,我不能修改它。 – Sergii 2012-07-18 15:40:20

+0

那么,单击TextView时,可以通过将此时间空间替换为“_”字符并将其用作文件名来重新创建文本。当然,这意味着更多的工作。 – 2012-07-18 15:42:59

+1

@AndyRes你永远不想修改文件名显示给用户的方式;这会导致大规模的混乱,恐慌,并最终导致所有文明的湮灭。或者用户会生气并卸载您的应用程序。其中一个。 – kcoppock 2012-07-18 16:41:50

1

如果你可以在XML TextView的得到它,我会尝试给它的属性:

android:singleLine 

如果你必须这样做在Java中,有一对夫妇的选择,以保持它的同一行:

textView.setSingleLine(); 
textView.setTransformationMethod(new SingleLineTransformationMethod()); 

如果你想多行,但是你希望它在不拆呢这个词的方式突破,则可能必须通过分析TextView的宽度做手工有多少个字符可以放在一行上,然后适当地插入换行符。上述两种方法将保持TextView的内容在一行上,并且它将水平滚动。你可以看看如何this person这样做。

另一个选项是查看android:ellipsize属性,但我不认为它会做你想要的。

+0

谢谢,最接近的解决方案是手动分析要放置在TextView上的内容来分割它。但我会继续寻找更简单的方法。 – Sergii 2012-07-18 15:57:39

+0

好吧,听起来不错。抱歉,我无法提供更多帮助。从环顾四周,看起来TextViews对于如何包装文本非常坚定。这可能是矫枉过正,但你可以让你自己的TextView覆盖默认的文本换行。 – boztalay 2012-07-18 15:59:43