很简单,Demo写错了,所以大家不好做。
/**
* 全屏播放配置
*/
@Override
public void onShowCustomView(View view,
CustomViewCallback customViewCallback) {
FrameLayout normalView = (FrameLayout) findViewById(R.id.web_filechooser);
ViewGroup viewGroup = (ViewGroup) normalView.getParent();
viewGroup.removeView(normalView);
viewGroup.addView(view);
myVideoView = view;
myNormalView = normalView;
callback = customViewCallback;
}
这个是全屏播放的代码,normalView 指向当前正在使用的 webview,但是最新demo里面,你是 find不到 R.id.web_filechooser的。因为最新demo里面 的 webview 已经是直接new出来又 add进去的了。所以只要改成
/** * 全屏播放配置 */ @Override public void onShowCustomView(View view, CustomViewCallback customViewCallback) { FrameLayout normalView = mWebView; ViewGroup viewGroup = (ViewGroup) normalView.getParent(); viewGroup.removeView(normalView); viewGroup.addView(view); myVideoView = view; myNormalView = normalView; callback = customViewCallback; }
改成这个就可以了。
/
具体原因是这里的问题
private void init() {
mWebView = new X5WebView(this, null);
mViewParent.addView(mWebView, new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.FILL_PARENT,
FrameLayout.LayoutParams.FILL_PARENT));
。。。
}
我猜之前他们是 写在布局文件里的,后来又改成 new一个,再add 的方式。