在setContentView元素SurfaceView之后,在StreetViewPanoramaView下绘制

时间:2019-03-01 19:13:12

标签: android surfaceview setcontentview

第一次来。 我使用StreetView创建应用程序。想要在街景视图的全景图上绘制标记。

使用setContentView()在布局之间切换。在使用元素“ StreetViewPanoramaView扩展FrameLayout”(com.google.android.gms.maps)进行布局时,我使用元素“ StreetOverlayView扩展SurfaceView”。 使用“画布canvas = surfaceHolder.lockCanvas();”我在SurfaceView上绘制位图。

外观: SurfaceView绘制位图 街景

在setContentView之后的

始终如下所示: 街景 SurfaceView绘制位图

我尝试了不同的选择: 1)首先setContentView(StreetViewPanoramaView的布局)和位图绘制在顶部,看起来不错。 在我setContentView(另一种布局)并再次setContentView(与StreetViewPanoramaView进行布局)之后-位图不绘制:(在顶部-仅在StreetViewPanoramaView下。

2)首先设置setContentView(另一种布局),然后设置setContentView(使用StreetViewPanoramaView进行布局)-位图不绘制:(在顶部。

我尝试将“ bringChildToFront”与布局中的元素一起使用-不起作用。

我如何返回在画布上方绘制的SurfaceView?

1 个答案:

答案 0 :(得分:0)

我有解决方法: 将“ StreetOverlayView扩展SurfaceView”元素放入新的FrameLayout中,然后在setContentView之后,从该FrameLayout中删除我的元素,然后再次添加。

    frame1.removeView(  markerView  );
    frame1.addView   (  markerView  );