После setContentView элемент SurfaceView рисует под StreetViewPanoramaView

Впервые здесь. Я создаю приложение с StreetView. Хочу нарисовать маркеры сверху панорамы Street View.

Переключайтесь между макетами с помощью setContentView(). На макете с элементом "StreetViewPanoramaView extends FrameLayout" (com.google.android.gms.maps) у меня есть элемент "StreetOverlayView extends SurfaceView". С "Canvas canvas = surfaceHolder.lockCanvas();" я рисую растровое изображение на SurfaceView.

смотрите: SurfaceView рисует растровое изображение StreetView

после setContentView все время выглядит так: StreetView SurfaceView рисует растровое изображение

Я пробовал разные варианты: 1) сначала setContentView (макет с StreetViewPanoramaView) и растровое рисование сверху и хорошо выглядеть. После того, как я setContentView (другой макет) и снова setContentView (макет с StreetViewPanoramaView) - растровое изображение НЕ рисовать: (сверху - только под StreetViewPanoramaView.

2) сначала setContentView (другой макет) и после setContentView (макет с StreetViewPanoramaView) - растровое изображение НЕ рисуется: (сверху.

Я попытался "привести ChildToFront" с элементами в макете - не работает.

Как я могу вернуть SurfaceView с рисованием на холсте сверху?

1 ответ

У меня есть решение: поместите элемент "StreetOverlayView extends SurfaceView" в новый FrameLayout, и после setContentView я удаляю свой элемент из этого FrameLayout и снова добавляю.

    frame1.removeView(  markerView  );
    frame1.addView   (  markerView  );
Другие вопросы по тегам