aString
がの幅より長い場合、TextView
自動的に次の行に折り返されます。android:singleLine
(非推奨)を使用するか、を設定することで、これを回避できますandroid:inputType="text"
。今必要なのは、私の最後の3文字String
を「...」に置き換えるものです。私は等幅フォントを使用していないので、これは私ので使用されている文字によって常に異なりますString
。TextView
したがって、文字列の最後の3文字を取得して、それらを置き換えるための最良の方法は何でしょうか。これは一般的な問題であるに違いないため、Androidフレームワークにはすでに何かが実装されている可能性があります。
97924 次
3 に答える
320
テキスト ビューの「ellipsize」プロパティを使用できるはずです。
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/text_mytext"
android:ellipsize="end"
android:maxLines="1"
/>
レイアウトにも重力値を適用する必要がある場合があります。それらのない「自動ストレッチ」ビューを時々見ました。
于 2009-11-03T13:28:27.077 に答える
35
この問題に対する興味深い回避策が見つかりました。
maxLines=1
ellipsize=end
scrollHorizontally=true
トリックは、水平スクロールに関する最後のステートメントです....チェックしてください。少なくとも v2.2 で動作します。
于 2011-05-19T06:01:15.667 に答える
5
プログラムでは、次を使用できます。
TextView tx = new TextView(this);
tx.setTextSize(13);
tx.setGravity(Gravity.CENTER);
tx.setTop(90);
tx.setText("Long text here");
tx.setTextColor(Color.BLACK);
tx.setSingleLine(true);
tx.setEllipsize(TruncateAt.END);
于 2014-12-04T13:58:01.660 に答える