如何在 Android WebView 中以横向全屏播放视频?
Posted
技术标签:
【中文标题】如何在 Android WebView 中以横向全屏播放视频?【英文标题】:How to play video fullscreen with landscape in Android WebView? 【发布时间】:2017-03-13 15:13:07 【问题描述】:-
我想在android
WebView
全屏播放视频,所以我使用html5标签<video>
并将这些网络文件放入src/main/asset/...文件夹。
但是当我点击“全屏”按钮时,视频只是在垂直方向移动到中心(纵向)。
那么,我的问题是如何在横向设置全屏?谢谢你。
【问题讨论】:
Playing HTML5 video on fullscreen in android webview的可能重复 我尝试过这种方式,但没有奏效。 @petey 【参考方案1】:我使用了cprcrack/VideoEnabledWebView 和RotatedVerticalFrameLayout。我刚刚在 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;
【讨论】:
以上是关于如何在 Android WebView 中以横向全屏播放视频?的主要内容,如果未能解决你的问题,请参考以下文章
如何在android Fragment中为webview显示全屏加载微调器?