android webview 播放视频 全屏问题
程序员文章站
2022-05-23 14:16:36
...
根据goole官方文档给出的两个函数可以结局这个问题,两个函数如下:
onShowCustomView()和 onHideCustomView()
onShowCustomView函数:当前页面进入全屏模式的时候会调用这个方法,并且返回了两个参数。第一个是我们要在全屏模式时显示的View,第二个是一个CustomViewCallBack接口
onHideCustomView函数:通知应用当前页面已经关闭全屏模式,我们需要做的操作是隐藏之前onSHowCustomView()方法中取到的View。
其实,思路就出来了。我们在onShowCustomView(View view, CustomViewCallback callback)函数中把webview 隐藏,在把参数当中的view 添加到我们自己在xml定义的容器中,这样不就实现了全屏。在onHideCustomView函数中,我们只需要做相反的操作,把webview显示出来,把自己定义的容器隐藏。
只要代码如下:
@Override
public void onShowCustomView(View view, CustomViewCallback callback) {
fullScreen();
webView.setVisibility(View.GONE);
videoContainer.setVisibility(View.VISIBLE);
isFull=true;
videoContainer.addView(view);
mCallBack=callback;
super.onShowCustomView(view, callback);
}
@Override
public void onHideCustomView() {
fullScreen();
if (mCallBack!=null){
mCallBack.onCustomViewHidden();
}
webView.setVisibility(View.VISIBLE);
videoContainer.removeAllViews();
videoContainer.setVisibility(View.GONE);
isFull=false;
super.onHideCustomView();
}
videoContainer 为我自己定义的容器,xml如下:
当然还有些注意事项:
例如在对应的activity下加上如下代码:
android:hardwareAccelerated=”true”
android:configChanges=”orientation|screenSize”
最后当然是demo链接地址:
http://download.csdn.net/detail/sunluyao_/9660161
上一篇: java比较器
推荐阅读
-
Android编程视频播放API之MediaPlayer用法示例
-
android之视频播放系统VideoView和自定义VideoView控件的应用
-
Android WebView或手机浏览器打开连接问题解决办法总结
-
Win10 UWP版《电影和电视》预览更新:始终全屏播放视频
-
详解Android 视频播放时停止后台运行的方法
-
Android选择图片或视频进行循环播放
-
react-native-video实现视频全屏播放的方法
-
腾讯视频播放器切换成全屏以及退出全屏的方法
-
Android编程使WebView支持HTML5 Video全屏播放的解决方法
-
Android webview旋转屏幕导致页面重新加载问题解决办法