После setContentView элемент SurfaceView рисует под StreetViewPanoramaView - PullRequest
0 голосов
/ 01 марта 2019

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

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

внешний вид: растровое изображение DrawView StreetView

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

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

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

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

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

1 Ответ

0 голосов
/ 02 марта 2019

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

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