我正在尝试使用跨度来更改文本文本视图部分的颜色。但是我一直遇到这个奇怪的错误,就像我的颜色未被识别。
这是我的代码
var span2 = new SpannableString(beforeMisterX + misterX);
span2.SetSpan(new ForegroundColorSpan(ContextCompat.GetColor(this, Resource.Color.abc_hint_foreground_material_dark)), 15, 6, 0);
lblMisterX.SetText(span2, TextView.BufferType.Spannable);
错误在此行:
span2.SetSpan(new ForegroundColorSpan(ContextCompat.GetColor(this, Resource.Color.abc_hint_foreground_material_dark)), 15, 6, 0);
错误的屏幕截图
我也尝试过,但我仍然遇到相同的错误:
span.SetSpan(new ForegroundColorSpan(Color.HoloBlueDark), 15, 6, 0);
ForegroundColorSpan
期望 Color
,而不是 int
, Color.HoloBlueDark
,而从 ContextCompat.GetColor
中的返回是ints,因此您需要将其转换为颜色:
var color = new Android.Graphics.Color(ContextCompat.GetColor(this, Resource.Color.abc_hint_foreground_material_dark));
span2.SetSpan(new ForegroundColorSpan(color), 15, 6, 0);