1 清单文件中的WebView添加下面两行的代码
android:hardwareAccelerated="true"android:configChanges="orientation|keyboardHidden"复制代码
2 加入下面的代码,并且调用方法
MyChromeClient chromeClient = new MyChromeClient();webView.setWebChromeClient(chromeClient);复制代码
3 WebView外面套一层
复制代码
3 重写WebView的返回键
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (event.getAction() == KeyEvent.ACTION_DOWN) { switch (keyCode) { case KeyEvent.KEYCODE_BACK: if (webView != null) { //关闭视频View chromeClient.onHideCustomView(); } else { //WebView返回:goBack() } return true; } } return super.onKeyDown(keyCode, event); }复制代码
源码
private View myView = null;private WebChromeClient.CustomViewCallback myCallBack = null; public class MyChromeClient extends WebChromeClient { @Override public void onShowCustomView(View view, CustomViewCallback callback) { if (myView != null) { callback.onCustomViewHidden(); return; } webViewFrameLayout.removeView(webView); webViewFrameLayout.addView(view); myView = view; myCallBack = callback; } @Override public void onHideCustomView() { if (myView == null) { return; } webViewFrameLayout.removeView(myView); myView = null; webViewFrameLayout.addView(webView); myCallBack.onCustomViewHidden(); } @Override public boolean onConsoleMessage(ConsoleMessage consoleMessage) { // TODO Auto-generated method stub return super.onConsoleMessage(consoleMessage); } }复制代码