How to make VideoView full screen

后端 未结 4 419
粉色の甜心
粉色の甜心 2021-01-14 09:09

I want to play a video in my Activity using a VideoView,and make it fullscreen and landscape mode (with hiding virtual button and stat

4条回答
  •  深忆病人
    2021-01-14 10:07

    At Last, I solve it with Kristo1990 and prashantwosti 's help My code is :

    RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
                    RelativeLayout.LayoutParams.MATCH_PARENT,
                    RelativeLayout.LayoutParams.MATCH_PARENT
            );
    private void enterFullScreen(){
            this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//设置横屏
            mVideoView.setSystemUiVisibility(
                    View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                            | View.SYSTEM_UI_FLAG_FULLSCREEN
                            | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
            layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
            layoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
            layoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
            layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
            mVideoView.setLayoutParams(layoutParams);
        }
    
    private void exitFullScreen(){
              this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
                mVideoView.setSystemUiVisibility(0);
                isFullScreen = false;
                mFullScreen.setVisibility(View.INVISIBLE);
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
                    layoutParams.removeRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
                    layoutParams.removeRule(RelativeLayout.ALIGN_PARENT_TOP);
                    layoutParams.removeRule(RelativeLayout.ALIGN_PARENT_LEFT);
                    layoutParams.removeRule(RelativeLayout.ALIGN_PARENT_RIGHT);
                }else {
                    layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM,0);
                    layoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP,0);
                    layoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT,0);
                    layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT,0);
                }
                mFullScreen.setVisibility(View.VISIBLE);
    
                mVideoView.setLayoutParams(layoutParams);
            }
    

    And at last I override the KEYCODE_BACK to exit fullscreen I hope it can help you all and thank you again.

提交回复
热议问题