Android

时间:2018-05-14 19:08:18

标签: android android-fragments android-view google-maps-android-api-2

我正在开发一个应用,我想在点击标记后在谷歌地图上显示一些叠加层。我想知道视图或片段是否是正确的方法。我尝试使用之前的片段并且它有效但我无法在后台看到谷歌地图,但是现在我正在使用视图并且正常工作,但是我仍然可以在地图中移动打开视图的背景,也许有一些方法可以暂停片段交互?我的另一个问题是,我应该使用片段还是视图?有没有一些正确的方法来做到这一点,我仍然可以在后台显示地图? 这是我点击标记后目前所拥有的图像。

MapsOverlay

1 个答案:

答案 0 :(得分:0)

片段和视图都是正确的方法 - 它只取决于与叠加层相关的逻辑量。

  • 何时使用View:当叠加层只是某种" popup"这没什么用(例如只显示文字)
  • 何时使用Fragment:当叠加层具有更多逻辑和生命周期时,例如您有某种EditText和Button以及API调用和进度指示器 - 您将获得漂移。将这个逻辑分成一个模块以保持实体简单和包含是有意义的。

顺便说一句,对于这种弹出窗口,你也可以使用Dialog,它比Fragment更容易实现。 Here is a simple example.

至于为什么你仍然可以浏览地图,尽管View可以看到它 - 尝试在XML中为这个视图添加两个属性:

<View
   android:id="@+id/yourView"
   android:clickable="true"
   android:focusable="true" />

它会使视图拦截所有触摸,而不是在视图树下方进一步传递。