Android

AndroidのTextViewで下線を引いてみる

android_coffee

Androidで文字を表示する際はTextViewを使うと思います。
その際に下線を引きたくなったことはありませんか?

今回はTextViewで下線を引く方法を2つご紹介します。

SpannableStringで下線を引く

SpannableStringを利用して下線を引く場合は以下のようにします。

TextView textView = (TextView)findViewById(R.id.textview);
String str = "こんにちは";
SpannableString spanStr = new SpannableString(str);
spanStr.setSpan(new UnderlineSpan(), 0, str.length(), 0);
textView.setText(spanStr);

このようにすると文字列全体に下線が引かれます。

「こんにちは」の表示

一方で、このように第二引数を変えると文字列の途中から下線を引くことができます。

spanStr.setSpan(new UnderlineSpan(), 3, str.length(), 0);
「こんにちは」の表示

第三引数は下線の終点を設定しているので、以下のようにすると文字列の途中だけ下線を引くことも可能です。

spanStr.setSpan(new UnderlineSpan(), 1, 3, 0);
「こんにちは」の表示

setPaintFlags()で下線を引く

setPaintFlags()で下線を引く場合は以下のようにします。

TextView textView = (TextView)findViewById(R.id.textview);
textView.setPaintFlags(textView.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
textView.setText("setPaintFlagsでこんにちは");

この場合は以下のように下線が引かれます。

「setPaintFlagsでこんにちは」の表示

こちらは二重線になってますね。

終わりに

今回はTextViewでの下線の引き方をご紹介しました。
どちらを使うかはお好みでいいと思います。
下線を引くことができると、重要な箇所をアピールすることができるので、表現の幅が広がりますね。
以上です。それでは。