如何在google maps API for android中为自动填充预测添加样式?

时间:2017-01-28 21:59:02

标签: android api google-maps autocomplete

我在我的项目中使用Google Maps API v2 Android,我正在使用PlaceAutocomplete Predictions API来获取建议。我的问题是如何使建议看起来更具动态性,即当用户输入时,建议中与提供的输入相匹配的字母应该改变颜色,类似于谷歌地图,如下所示(这里是字母' n' ,' e'并且在建议中大胆说:)

enter image description here

我已阅读文档onetwo,其中包含:

  

getFullText(CharacterStyle matchStyle)返回地点描述的全文。这是主要和次要文本的组合。例如:"埃菲尔铁塔,法国巴黎大道阿纳托尔大街"。此外,此方法还允许您使用CharacterStyle突出显示与您选择的样式匹配搜索的描述部分。 CharacterStyle参数是可选的。如果您不需要任何突出显示,请将其设置为null。

但我无法在文档中找到有关如何使用CharacterStyle实施getFullText(CharacterStyle)的任何进一步解释,请提供帮助。提前致谢! :)

1 个答案:

答案 0 :(得分:2)

private static final CharacterStyle STYLE_BOLD = new StyleSpan(Typeface.BOLD);

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View row = super.getView(position, convertView, parent);

// Sets the primary and secondary text for a row.
// Note that getPrimaryText() and getSecondaryText() return a CharSequence that may contain
// styling based on the given CharacterStyle.

AutocompletePrediction item = getItem(position);

TextView textView1 = (TextView) row.findViewById(android.R.id.text1);
TextView textView2 = (TextView) row.findViewById(android.R.id.text2);
textView1.setText(item.getPrimaryText(STYLE_BOLD));
textView2.setText(item.getSecondaryText(STYLE_BOLD));

return row;

}