HTMLのように色を指定してAndroidアプリに文字を表示する
- 2019年7月17日
- Android
Android開発で 複数行の文字列を幾つかの色で表現したい時に
改行のたびに新しくLabelやTextViewを追加し、文字色プロパティを設定するのは面倒です。
HtmlCompat.fromHtml を利用することで文字列の特定の範囲にHtmlのように文字に装飾を加えることができます。
たとえば
val text = “赤の文字列”
val _text = HtmlCompat.fromHtml(“<font color=#ff0000>”+text+”</font>”, Html.FROM_HTML_MODE_COMPACT)
mTextView.append(_text)
mTextView.append(“\n”)
とすることで赤い文字列が表示されます。
<font color=#******>で16進数でRGBを設定して表示させることで任意の文字色で表示させることができます。
もちろん行単位ではなく、文字単位でも色を変えることができます。
val _text = HtmlCompat.fromHtml(“<font color=#ff0000>red</font><font color=#00ff00>green</font><font color=#0000ff>blue</font>”, Html.FROM_HTML_MODE_COMPACT)
mTextView.append(_text)
mTextView.append(“\n”)
アプリ内でログを表示させる時に使えそうです。
tanaka at 2019年07月17日 10:00:34