功能描述
在网页加载中,通常使用小窗口嵌套在网页中播放视频,点击全屏按钮进入全屏播放,再点击返回或小窗口按钮退出全屏。
技术支持
WebView对全屏播放提供了支持。为了支持全屏(视频或HTML内容),需要设置WebChromeClient并实现onShowCustomView(View, WebChromeClient.CustomViewCallback) 和onHideCustomView()。如果缺少这两种方法中的任何一种,那么Web内容将不允许进入全屏。这是功能实现的关键。
注:为了支持应用程序中内嵌HTML5视频,需要打开硬件加速。
具体实现
在manifest文件中添加权限
<uses-permission android:name="android.permission.INTERNET"/>
给activity添加配置
android:configChanges="orientation|keyboardHidden|navigation|screenSize"
//添加上述配置后,在activity切换横竖屏的时候不会重新调用activity的生命周期,这很重要。
布局文件
布局文件中除webview,还需要添加一个视图来承载全屏的播放界面(也可动态加入)。如下:
<?xml version="1.0" encoding="utf-8"?>