안드로이드 개발 질문/답변
(글 수 45,052)
증강현실 어플을 개발하고 있습니다.
카메라 위에 웹서비스에서 받아온 건물정보의 좌표값으로
OpenGL로 마커를 그린후 해당 마커를 터치하면 상세정보 액티비티로 이동하는 것입니다.
뷰의 구조는 맨 아래에 카메라뷰 그 위에 OpenGL뷰..그리고 최상단에 버튼이나 현재위치의 주소를 표시하는 UI들입니다.
FrameLayout에 추가시켜 사용하고 있는데 카메라 위에 OpenGL뷰가 보이게 하기위해선
일반적으로 생각하는 뷰의 배치순서와 반대로 해야하더군요.
FrameLayout.addView(오픈지엘뷰);
FrameLayout.addView(카메라뷰);
FrameLayout.addView(버튼 등 UI);
위와 같이 하여 의도한바와 같이 성공적으로 띄웠습니다.
그런데 문제는 홈키를 눌러 나갔다가 다시 돌아온다던지..혹은 마커를 터치하여 다른액티비티로 이동했다 백키를 통해 다시 돌아오면
OpenGL 뷰가 안보이는 문제가 발생하였습니다.
그래서 로그를 찍어보니 처음 실행시킬시에는 카메라가 먼저 동작하고 OpenGL뷰가 동작되지만 백그라운드에서 포그라운드로 돌아올시에는 반대로 실행이 되었습니다.
setZOrderOnTop이라는 것을 사용하면 무조건 최상단에 위치하게 하는 것이 있지만 opengl뷰는 카메라와 버튼UI 사이에 위치하여야만해서 사용할 수 없었습니다.어떻게 해결해야 할까요?
웹개발을 하다 이직하여
2010년 8월부터 현재까지 안드로이드 앱 개발 중입니다~