마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

videoView 2개를 PIP로 구현할려고 합니다.

0 추천
VideoView를 겹쳐서 PIP 효과를 줄려고 합니다.

큰영상 안에 작은영상이 오버레이로 띄어져있는 모습으로 만들려고 하는데요.

작은영상을 터치하면 화면이 스위칭되며 큰화면이 작은화면으로 옮겨가도록 구성했더니

큰영상 뒤로 가려 영상이 보이지 않더군요.

그상태에서 다시 작은영상을 누르면 다시 본래 큰영상으로 돌아오면서

작은영상이 큰영상 앞으로 돌아옵니다.

    private void resize_full(VideoView videoview)
    {
        videoview.setZOrderMediaOverlay(false);
        videoview.setOnTouchListener(null);

        DisplayMetrics metrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metrics);

        FrameLayout.LayoutParams params_full = new FrameLayout.LayoutParams(videoview.getWidth(), videoview.getHeight());
        params_full.gravity = Gravity.CENTER;
        params_full.width = metrics.widthPixels - margin;
        params_full.height = metrics.heightPixels - margin;
        params_full.rightMargin = 0;
        params_full.topMargin = 0;
        videoview.setLayoutParams(params_full);
    }
    
    private void resize_pip(VideoView videoview)
    {
        videoview.setZOrderMediaOverlay(true);
        videoview.setOnTouchListener(touch);

        FrameLayout.LayoutParams params_pip = new FrameLayout.LayoutParams(videoview.getWidth(), videoview.getHeight());
        params_pip.gravity = Gravity.RIGHT;
        params_pip.width = dpTopx(margin * 16);
        params_pip.height = dpTopx(margin * 9);
        params_pip.rightMargin = dpTopx(margin);
        params_pip.topMargin = dpTopx(margin);
        videoview.setLayoutParams(params_pip);
    }

 

위와같이  setZOrderMediaOverlay 옵션으로 설정해두었지만 안되더군요.

setZOrderOnTop 의 경우는 영상 하나가 아에 나오지 않아서 사용하면 안되고요.

우선순위 변경하는 방법이 있을까요?
드라겐 (130 포인트) 님이 2016년 1월 29일 질문

1개의 답변

0 추천

 bringToFront 를 써보세요

익명사용자 님이 2016년 1월 29일 답변
...