2013-08-27 17 views
7

文字列の特定の部分で改行を避けたいと思います。Android:TextViewの文字列部分で改行を避けてください

Speed (m/s) 

ジャンプが必要な場合に理想的にはどちらか、このように、すべてのジャンプと1行で完全な文字列を有するかどうか、次のようになります:

のは、我々は、この文字列があるとしましょう

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. View.getMeasuredWidth()TextViewの幅を計算します。
  2. Stringの幅をPaint.measureText()と計算します。
  3. 幅を比較し、必要に応じて「速度」と「(m/s)」の間に「\ n」を追加します。
+0

一般的なケースをもっと探していた...難しくなる同時にいくつかの行とルールを持っている場合... – apascual

8

速度と "(m/s)"の間にnon-breaking spaceを使用してください。 Unicode no-break space文字(\u00A0)はTextViewで使用できます。

+4

"(m/s)"に空白がないことが問題ですが、Androidはそれを分割しています... – apascual

+1

"(m/s)言葉ではありません、アンドロイドは自動的にそれをラップすることはできません。この問題は、スペースや単語の折り返しの問題よりも扱いにくいように見えます。あなたのものに似た質問があります。受け入れられた答えを参照することができます。それらは、いくつかの変更を加えて 'TextView'をオーバーライドします。 [類似の質問のリンク](http://stackoverflow.com/questions/15981941/how-to-control-when-textview-sends-string-to-new-line?rq=1) – YX1990

関連する問題