騰訊X5內(nèi)核播放器遇到的問題

最近在寫一個(gè)和視頻有關(guān)的項(xiàng)目,用到了騰訊x5內(nèi)核的webview。利用webview調(diào)用本地js文件來播放視頻。事情本身很順利,但是在過程中遇到了一些小插曲,在此記錄一下。

1.去除播放器中的廣告

正常使用的情況下,我們進(jìn)入播放界面會(huì)出現(xiàn)如下情況



屏幕下方總是會(huì)出現(xiàn)一個(gè)煩人的廣告。去除方法很簡單,在webview所在的Activity的onCreat方法中調(diào)用removeAd()即可。

private void removeAd(){
        getWindow().getDecorView().addOnLayoutChangeListener(new      View.OnLayoutChangeListener() {
            @Override
            public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
                
                ArrayList<View> outView= new ArrayList<View>();
                getWindow().getDecorView().findViewsWithText(outView, "QQ瀏覽器", View.FIND_VIEWS_WITH_TEXT);
                if (outView != null && outView.size() > 0) {
                    outView.get(0).setVisibility(View.GONE);
                }
            }
        });
    }

1.全屏問題

當(dāng)點(diǎn)擊全屏后,再返回。出現(xiàn)如下bug(右上角白塊)
因?yàn)槲以贏ctivity中嵌入了webview(紅色方框內(nèi)為webview),當(dāng)視頻播放全屏的時(shí)候,其他控件被webview擠出屏幕范圍,此時(shí)點(diǎn)擊返回時(shí),由于ActionBar寬度計(jì)算錯(cuò)誤,導(dǎo)致右上角有一個(gè)白塊


解決方法如下:

在Activity重寫onConfigurationChanged方法,當(dāng)橫屏(視頻全屏)時(shí),調(diào)用

getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

當(dāng)退出全屏?xí)r取消這個(gè)Flage即可。
那么FLAG_LAYOUT_NO_LIMITS是啥意思呢?

FLAG_LAYOUT_NO_LIMITS表示window大小不再不受手機(jī)屏幕大小限制,即window可能超出屏幕之外,這時(shí)部分內(nèi)容在屏幕之外。
我們可以通過設(shè)置Flag來實(shí)現(xiàn)很多功能,這里不一一細(xì)說,有興趣的朋友可以看看這里:
http://blog.csdn.net/i_lovefish/article/details/8050025

代碼如下:

@Override
    public void onConfigurationChanged(Configuration newConfig) {
        // TODO Auto-generated method stub
        try {
            super.onConfigurationChanged(newConfig);
            if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
                getWindow().addFlags(
                        WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
            }
            else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
                getWindow().clearFlags(
                        WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,138評(píng)論 25 708
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 7,355評(píng)論 0 17
  • WebView·開車指南 2016-08-31BugDev 北京市東城區(qū)首席Bug布道師開山之作,一整月交通事故血...
    53c021c38a1d閱讀 937評(píng)論 0 1
  • 90%的人都知道一個(gè)真理:慢工出細(xì)活。 時(shí)常在朋友圈看到朋友曬每月的讀書計(jì)劃,漸漸地我得出一個(gè)結(jié)論,他們仿佛攀比似...
    bazinga17閱讀 546評(píng)論 0 1
  • 最近的生活有點(diǎn)混亂,感覺好多事情都完不成,而且連思考的時(shí)間都沒有了,為什么呢? 學(xué)習(xí)了李笑來老師的《通往財(cái)富自由之...
    書安在閱讀 662評(píng)論 5 10

友情鏈接更多精彩內(nèi)容