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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章