android webview 播放视频 全屏问题

根据goole官方文档给出的两个函数可以结局这个问题,两个函数如下:
onShowCustomView()和 onHideCustomView()

onShowCustomView函数:当前页面进入全屏模式的时候会调用这个方法,并且返回了两个参数。第一个是我们要在全屏模式时显示的View,第二个是一个CustomViewCallBack接口

onHideCustomView函数:通知应用当前页面已经关闭全屏模式,我们需要做的操作是隐藏之前onSHowCustomView()方法中取到的View。

其实,思路就出来了。我们在onShowCustomView(View view, CustomViewCallback callback)函数中把webview 隐藏,在把参数当中的view 添加到我们自己在xml定义的容器中,这样不就实现了全屏。在onHideCustomView函数中,我们只需要做相反的操作,把webview显示出来,把自己定义的容器隐藏。

只要代码如下:

@Override
    public void onShowCustomView(View view, CustomViewCallback callback) {
        fullScreen();
        webView.setVisibility(View.GONE);
        videoContainer.setVisibility(View.VISIBLE);
        isFull=true;
        videoContainer.addView(view);
        mCallBack=callback;
        super.onShowCustomView(view, callback);
    }

    @Override
    public void onHideCustomView() {
        fullScreen();
        if (mCallBack!=null){
            mCallBack.onCustomViewHidden();
        }
        webView.setVisibility(View.VISIBLE);
        videoContainer.removeAllViews();
        videoContainer.setVisibility(View.GONE);
        isFull=false;
        super.onHideCustomView();
    }

videoContainer 为我自己定义的容器,xml如下:

这里写图片描述

当然还有些注意事项:
例如在对应的activity下加上如下代码:

android:hardwareAccelerated=”true”
android:configChanges=”orientation|screenSize”

最后当然是demo链接地址:
http://download.csdn.net/detail/sunluyao_/9660161

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值