【问题标题】:How to play video fullscreen with landscape in Android WebView?如何在 Android WebView 中以横向全屏播放视频?
【发布时间】:2017-03-13 15:13:07
【问题描述】:
  1. 我想在AndroidWebView全屏播放视频,所以我使用HTML5标签<video>并将这些网络文件放入src/main/asset/...文件夹。
  2. 但是当我点击“全屏”按钮时,视频只是在垂直方向移动到中心(纵向)。
  3. 那么,我的问题是如何在横向设置全屏?谢谢你。

【问题讨论】:

标签: android html video webview


【解决方案1】:

我使用了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);

在活动中我更改了 OnToggledFullscreenCallback 中的行

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE)

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);

以便它隐藏导航栏。

为了获得我使用的显示尺寸

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;
}

【讨论】:

    猜你喜欢
    • 2015-11-21
    • 2013-03-24
    • 1970-01-01
    • 2013-12-11
    • 2014-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多