Xamarin.Android で TextView に HTML を設定する HtmlCompat の使い方
Android の TextView には HTML で装飾付きのテキストを指定できます。
これを Xamarin.Adnroid (C#) でやるためには以下のようにコードで書いていたと思います。
1 2 3 |
var text = "これは <b><big>テスト</big></b> です。" var textView1 = FindViewById<TextView>(Resource.Id.textView1); textView1.TextFormatted = Html.FromHtml(text); |
この Html.fromHtml
は API Lvevl 24 で非推奨 (deprcated) となっていました。
代わりに Android.Support.V4.Text.HtmlCompat
を使います。
しかし HtmlCompat.FromHtml() は第2引数が必要です。
1 2 3 4 5 |
using using Android.Support.V4.Text; // 追加 var text = "これは <b><big>テスト</big></b> です。" var textView1 = Resource.Id.textView1); textView1.TextFormatted = HtmlCompat.FromHtml(text, HtmlCompat.FromHtmlModeCompact) |
第2引数はフラグの組み合わせなっています。
FromHtmlModeCompact
を指定した場合は、ブロック要素は改行されます。
FromHtmlModeLegacy
を指定するとブロック要素のあとに2つ改行が入るといった違いがあります。
また HtmlCompat.FromHtmlModeLegacy | HtmlCompat.FromHtmlOptionUseCssColors | HtmlCompat.FromHtmlSeparatorLineBreakBlockquote
のように複数指定ができます。
他にも HtmlCompat の公式リファレンスに色々とオプションが掲載されています。Xamarin で使う場合は読み替えてください。
ITエンジニア募集中!
キュアコード株式会社はITエンジニアを募集しております。少人数の職場なので、上流・下流やサーバー・クライアント対応の垣根なく、あなたの強みを活かしながら いろいろなことにチャレンジ可能です。エンジニアとしての未経験の方、経験が少ない方も歓迎しています。
下記よりITエンジニア募集の採用情報をご覧いただけます。