如何在标记信息窗口的一行中制作 2 个彩色文本?

How to make 2 colored text in a line in a marker infowindow?

我想制作一个标记信息window,它有3行,每行包含2种颜色。 我在

的帮助下制作了 3 行
mMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter()

但我被颜色困住了。

请帮忙:)

您可以使用 SpannableStringTextView 或其他启用文本的组件

中的单个字符串句子中设置多种颜色
String strMessage="I am android developer";
Spannable spannable = new SpannableString(strMessage);

//"I am android" red colored
spannable.setSpan(getTextAppearanceSpan(ContextCompat.getColor(mContext, android.R.color.RED)), 0, 12, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        textView.setText(spannable);


//"developer" blue colored
spannable.setSpan(getTextAppearanceSpan(ContextCompat.getColor(mContext, android.R.color.BLUE)), 14, strMessage.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        textView.setText(spannable);

TextAppearanceSpan 自定义颜色文本的方法

/*
 *get customized text with color, style
 */
private TextAppearanceSpan getTextAppearanceSpan(int color) {
    ColorStateList blueColor1 = new ColorStateList(new int[][]{new int[]{}}, new int[]{color});
    return new TextAppearanceSpan(null, Typeface.NORMAL, -1, blueColor1, null);
}