腾讯X5,视频全屏崩溃解决方法

很简单,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 的方式。



你可能感兴趣的:(View)