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

本文解决了全屏播放配置中因Demo错误导致的问题。通过调整代码指针,将原本指向布局文件中的WebView替换为直接new出来的WebView实例,实现了全屏播放功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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



评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值