我在同一个字符串中设置StyleSpan和ForegroundColorSpan时遇到问题。这是我的代码:
SpannableStringBuilder text_1_2 = new SpannableStringBuilder(getString(R.string.why_text_1_2));
StyleSpan bss = new StyleSpan(android.graphics.Typeface.BOLD);
ForegroundColorSpan fcs = new ForegroundColorSpan(getResources().getColor(R.color.custom_blue));
text_1_2.setSpan(fcs, 0 , text_1_2.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
text_1_2.setSpan(bss, 0, text_1_2.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
结果字符串为蓝色但不是粗体。
感谢。
答案 0 :(得分:4)
你能试试吗
text_1_2.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 0 , text_1_2.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
text_1_2.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.custom_blue)), 0, text_1_2.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
但我的建议是,如果你不想设置字符串的一部分,请使用
来设置样式和颜色 android:textColor="@color/color_name"
android:textStyle="bold"