2016-09-13 2 views
1

앱에 두 개의 표면 뷰가 있고 한 표면 뷰가 다른 표면 뷰와 겹칠 필요가 있습니다. 예를 들어 Surfaceview A와 SurfaceView B가 두 개 있다고 가정 해 봅시다. B는 setZOrderOnTop (true)를 B에 설정하여 수행해야하는 A 위에 있어야합니다.Android에서 setZOrderOnTop이 true로 설정된 SurfaceView 상단의 버튼

이제 상단에 몇 가지 텍스트 나 버튼을 표시하고 싶습니다. Z의 순서가 true로 설정 되었기 때문에 추가 된 텍스트 나 단추가 맨 위에 표시되지 않지만 밑에 표시됩니다. setZOrderOnTop 속성이 설정되어 있지 않으면 텍스트보기와 버튼이 위에 표시되지만 B는 겹치지 않습니다.

SurfaceView B와 textview 또는 버튼을 FrameLayout에 배치하려고했지만 여전히 B 아래에 나타납니다. z 순서를 true로 설정할 수 있고 텍스트 또는 단추가 위에 올 수있는 방법이 있습니까?

답변

3

setZOrderOnTop 대신 setZOrderMediaOverlay(true)을 사용하여 문제를 해결할 수있었습니다.

setZOrderOnTop이 true로 설정된 경우 항상 창의 맨 위에 위치합니다. 따라서 표면 뷰 오버레이 뷰를 사용하려면 setZOrderMediaOverlay을 사용해야합니다.

자세한 내용은 setZOrderMediaOverlay document here.

을 참조하십시오.