如何在 Android WebView 中横向全屏播放视频?

kev*_*n4z 6 html video android webview

  1. 我想在 Android 中全屏播放视频WebView,所以我使用 HTML5 标签<video>并将这些 Web 文件放入src/main/asset/...文件夹中。
  2. 但是当我点击“全屏”按钮时,视频只是移动到垂直方向的中心(纵向)。
  3. 那么,我的问题是如何设置横向全屏?谢谢。 在此输入图像描述

小智 2

我使用了cprcrack/VideoEnabledWebViewRotatedVerticalFrameLayout。我刚刚更改了 VideoEnabledWebChromeClient 中 onShowCustomView(View view, CustomViewCallback callback) 的部分内容。

 // Hide the non-video view, add the video view, and show it
 activityNonVideoView.setVisibility(View.INVISIBLE);
 Point screenSize = Utils.getDisplaySize(activityNonVideoView.getContext());
 FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(screenSize.y, screenSize.x);
 params.gravity = Gravity.BOTTOM;
 videoViewContainer.setLayoutParams(params);
 activityVideoView.addView(videoViewContainer);
 activityVideoView.setVisibility(View.VISIBLE);
Run Code Online (Sandbox Code Playgroud)

在 Activity 中,我更改了 OnToggledFullscreenCallback 中的行

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE)
Run Code Online (Sandbox Code Playgroud)

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
                    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                    | View.SYSTEM_UI_FLAG_FULLSCREEN
                    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
Run Code Online (Sandbox Code Playgroud)

这样它就隐藏了导航栏。

为了获取显示尺寸,我使用了

public static Point getDisplaySize(Context context) {
    WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
    Display display = wm.getDefaultDisplay();
    Point size = new Point();
    display.getRealSize(size);
    return size;
}
Run Code Online (Sandbox Code Playgroud)