android 文字列を省略表示 ellipsizeを使う

androidアプリ開発逆レシピより

長い文字列を「ほげほげ...」というように省略する。

 

やり方1:xml

<TextView

android:~~~(幅、高さなど)

android:ellipsize="end"

android:singleLine="true"

android:text="hogehogehogehogehogehoge"

/>

 

endで、文字列の最後を...に置き換えます。

startにすると、文字列の先頭部分が...に置き換わります。文頭を省略することなんてあるのだろうか?という些末が疑問はさておき。

ellipsizeの意味は楕円化するという意味らしいです。よくわからん。

 

 

やり方2:java

findView~~

textView.setEllipsize(TruncateAt.END);

textView.setSingleLine(true);

textView.setText("hogehogehogehogehogehoge");

 

Truncateの意味は、切り捨てる。

ENDをSTARTにすれば文頭を省略。

ちょっと覚えていける自信ないわ。ま、ぐぐればいいのです。

 

評:

クリックすると文字列が全部表示できるみたいなやり方があればまたいつかやります。

 まだまだできる選択肢が少ない。

んー、悔しい。

 

その他:

marquee

この本(androidアプリ開発逆レシピ)にはellipsizeを用いた方法としてmarqueeの使い方も掲載していました。

 

android:ellipsize="marquee"

android:focusable="true"

android:focusableInTouchMode="true"

android:singleLine="true"

android:text="hogehoge"