spannable に追加されたスパンの優先度は、TextView での外観に影響します。以下のように、入れ子になった 2 つの Character Style を spannable に追加すると、
SpannableStringBuilder sp = new SpannableStringBuilder();
String blue = "blue";
String red = "red";
sp.append(blue);
sp.append(red);
sp.append(blue);
sp.setSpan(new ForegroundColorSpan(Color.RED), blue, 2*blue, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
sp.setSpan(new ForegroundColorSpan(Color.BLUE), 0, sp.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
((TextView)findViewById(R.id.text_view)).setText(sp);
文字スタイルを追加する順序は、テキストの外観にとって重要です。Android は、Spanned.SPAN_PRIORITY フラグを介してスパンの優先度を処理する方法を作成します。しかし、Html.fromHtml() を使用する場合、優先順位は私たちの手にありません。したがって、Html.fromHtmel の出力のスパン優先度を変更できますか、それとも新しいスパン可能にして新しいスパン優先度を作成できますか。