Android:TextViewに下線付き文字列を設定する

下線付き文字列をアプリ画面内に設置する方法は2つあります。

res/values/strings.xmlにHTMLタグと一緒に文字列を定義する。

定義方法は簡単で、以下のようにリソースファイル(strings.xml)に記述すればOKです。

<string name="hoge_text"><u>下線付き文字列</u></string>

こうすればあとはActivity#getText(int resid)で通常の文字列(CharSequence)と同様に取得可能です。

これは下線付き文字列を静的(static)に扱う場合に有効でしょう。

Spannableクラスを使用してソースコード内で作成する。

ソースコード内で文字列に下線を付ける場合は、Spannableというクラスを利用します。

String text = "下線付き文字列";
// 1. ファクトリーにおまかせ
Spannable t = Spannable.Factory.getInstance().newSpannable(text);
// 2. 下線オブジェクト(他にも種類ある)
UnderlineSpan us = new UnderlineSpan();
// 3. 装飾セット(装飾オブジェクト、開始位置、終了位置、装飾オブジェクト用?フラグ)
t.setSpan(us, 0, text.length(), t.getSpanFlags(us));
// 4. TextViewにセット
textView.setText(t, TextView.BufferType.SPANNABLE);

これは例えば、ユーザーが入力した任意の文字列に対して表示を行うなど、動的(dynamic)に値が変わる場合に有効です。

スポンサーリンク


コメントを残す

このページの先頭へ