0

我需要根据在水平列表中选择的相应餐厅突出显示标记,并且滚动标记突出显示需要更改

任何实现此目的的提示或示例代码都会有很大帮助。

我正在使用 react-native-maps 库

谢谢。

在此处输入图像描述

4

2 回答 2

0

请按照以下步骤实现此目的:

  • 将resturantId 设置为每个标记的标记。

  • 将滚动侦听器添加到您的 ListView 并在滚动停止时获取最后一个可见项目的位置,如下所示:int last = listView.getLastVisiblePosition();

  • 获取当前焦点项目的 id 并在所有标记上应用循环,如果标记的标记与 resturantId 匹配,则相应地更改标记图标并为所有其他标记更改不同的图标。

这会对你有所帮助。

于 2017-07-24T08:19:25.830 回答
0

如果在创建时使用标记映射列表元素,则可以检索显示的元素,如下所示:

int last = listView1.getLastVisiblePosition();  

int first = listView1.getFirstVisiblePosition();

所以滚动后,当您通知更改适配器时,您可以更改特定标记的颜色:

marker.setIcon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE));

希望能帮助到你。

于 2017-07-24T08:11:55.310 回答