我有以下代码将颜色设置为文本的一部分:
String fontString = " \u25FC";
Spannable iconSpannable = new SpannableString(fontString);
int color = Color.parseColor("#ff00ff00");
iconSpannable.setSpan(new ForegroundColorSpan(color), 0, fontString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
SpannableStringBuilder builder = new SpannableStringBuilder();
builder.append(iconSpannable);
TextView labelView = (TextView) v.findViewById(R.id.label);
labelView.setText(builder, TextView.BufferType.SPANNABLE);
这是Moto X中的结果(按预期显示颜色):
并使用三星J1(不显示颜色):
关于造成这种差异的原因的任何想法?
编辑:颜色与ASCII字符一起使用,因此非ascii字符必须是罪魁祸首。