0

正如我们在 google maps android version 2 中所知道的,一个自定义信息窗口,是一个转换为图像的视图。实际上,谷歌在您返回视图后会将视图转换为图像,然后将其显示到信息窗口。

但我想显示从互联网下载到我的信息窗口的图像。实际上,我希望在下载完成之前向我的信息窗口显示一个进度条,并在它完成更新信息窗口之后,通过这种机制我怎么能做到这一点?

4

1 回答 1

2
  • 有一个模型对象,其中包含用于进度的 int 和用于实际图像的位图。
  • 启动某种后台操作(例如AsyncTask)以下载图像。
  • 从 更新模型的进度AsyncTask.onProgressUpdate
  • 从 更新模型的图像AsyncTask.onPostExecute
  • 有一个模型观察者(参见观察者部分)。
  • 如果您保留AsyncTask(或任何其他类型的Thread上下文Activity,请不要忘记cancel它,您也可以跳过观察者模式。
  • 保存对显示信息窗口的标记的引用InfoWindowAdapter.getInfoWindow。调用它markerShowingInfoWindow
  • 当您收到进度更新通知时,

称呼:

if (markerShowingInfoWindow != null && markerShowingInfoWindow.isShowingInfoWindow()) {
    markerShowingInfoWindow.showInfoWindow();
}

强制InfoWindowAdapter.getInfoWindow调用并创建ViewGroup包含ProgressBarImageView来自模型内的进度和图像值。

与往常一样,将其转换为 C# 世界。

于 2013-06-16T21:32:28.500 回答