2013-08-27 58 views
7

我想避免在字符串的特定部分中斷行。Android:避免在TextView中出現斷行字符串部分

比方說,我們有這個字符串:

Speed (m/s) 

理想的是,要麼根本不跳,並且具有在一行完整的字符串,或者,如果需要跳躍,以這樣的方式

Speed 
(m/s) 

我想避免哪些事情是這樣的:

Speed (m/ 
s) 

任何想法?

+1

http://stackoverflow.com/questions/6134457/how-to-prevent-edittext-from-breaking-a-line-after-punctuation – laalto

回答

0

嘗試這個(只是一個想法,未測試):

  1. 計算TextView的寬度隨着View.getMeasuredWidth()
  2. Paint.measureText()計算String的寬度。
  3. 比較寬度並在「速度」和「(m/s)」之間添加「\ n」(如果需要)。
+0

我在尋找更多的一般情況......我可以變得困難如果同時有幾條線和規則... – apascual

8

嘗試在Speed和「(m/s)」之間使用non-breaking spaceUnicode no-break space字符(\u00A0)應該適用於TextView。

+4

這裏的問題是「(m/s)」中沒有空格,但Android正在分割它...... – apascual

+1

由於「(m/s)」是不是一個字,android不能自動換行。這個問題看起來比空間和自動換行問題更復雜。下面是一個類似於你的問題,也許你可以參考被接受的答案。他們通過一些修改來覆蓋'TextView'。 [類似問題的鏈接](http://stackoverflow.com/questions/15981941/how-to-control-when-textview-sends-string-to-new-line?rq=1) – YX1990