SpannableStringBuilder 同時設定setclickspan 和 ForegroundColorSpan出現問題
阿新 • • 發佈:2019-01-01
借鑑:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0305/2535.html這篇文章
專案最初使用的是SpannableString 進行富文字顯示,由於需求新增,需要用SpannableStringBuilder來改變顯示的字串。
這時候用setclickspan 和 ForegroundColorSpan會出現字型顏色不是自己設定的情況。
這種情況應該是:setclickspan會有一個連結顏色將ForegroundColorSpan設定的顏色覆蓋了(雖然我先設定的setclickspan)所以換成了TextAppearanceSpan,這個span方法可以設定字型的各種顏色
//設定前景色span spannableString.setSpan(new TextAppearanceSpan(mEditText.getContext(),R.style.SpecialTextAppearance), matcher.start(), end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
<style name="SpecialTextAppearance" parent="@android:style/TextAppearance"> <item name="android:textColor">@color/comment_matcher</item><item name="android:textColorHighlight">@color/comment_matcher</item> <item name="android:textColorHint">@color/comment_matcher</item> <item name="android:textColorLink">@color/comment_matcher</item><!--連結顏色!!--> </style>