我正在开发一个应用,我想在点击标记后在谷歌地图上显示一些叠加层。我想知道视图或片段是否是正确的方法。我尝试使用之前的片段并且它有效但我无法在后台看到谷歌地图,但是现在我正在使用视图并且正常工作,但是我仍然可以在地图中移动打开视图的背景,也许有一些方法可以暂停片段交互?我的另一个问题是,我应该使用片段还是视图?有没有一些正确的方法来做到这一点,我仍然可以在后台显示地图? 这是我点击标记后目前所拥有的图像。
答案 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" />
它会使视图拦截所有触摸,而不是在视图树下方进一步传递。