如题。打开一个视频,点击视频右下角的全屏按钮,会横屏,然后又切换回竖屏。 跟踪代码发现,是由于 [ByWebChromeClient.java](https://github.com/youlookwhat/ByWebView/blob/master/ByWebView/src/main/java/me/jingbin/web/ByWebChromeClient.java)中下面代码引起: @SuppressLint("SourceLockedOrientationActivity") @Override public void onHideCustomView() { ...... // 还原到之前的屏幕状态 if (!isFixScreenPortrait) { if (onByWebChromeCallback == null || !onByWebChromeCallback.onHandleScreenOrientation(false)) { // 为空或返回为true时,自己处理横竖屏。否则默认设置为竖屏 mActivity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } } ........ } 注释上面的 if 语句块,首次全屏会切换到横屏状态,但标题栏及系统状态栏没有隐藏,只能看到视频的上半部分。 问了 ChatGPT-4,提供了两种解决思路:   
如题。打开一个视频,点击视频右下角的全屏按钮,会横屏,然后又切换回竖屏。



跟踪代码发现,是由于 ByWebChromeClient.java中下面代码引起:
@SuppressLint("SourceLockedOrientationActivity")
@OverRide
public void onHideCustomView() {
......
// 还原到之前的屏幕状态
if (!isFixScreenPortrait) {
if (onByWebChromeCallback == null || !onByWebChromeCallback.onHandleScreenOrientation(false)) {
// 为空或返回为true时,自己处理横竖屏。否则默认设置为竖屏
mActivity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
........
}
注释上面的 if 语句块,首次全屏会切换到横屏状态,但标题栏及系统状态栏没有隐藏,只能看到视频的上半部分。
问了 ChatGPT-4,提供了两种解决思路: