騰訊瀏覽服務(wù)TBS瀏覽本地文件

接入

騰訊瀏覽服務(wù)TBS支持本地打開多種文件格式,如doc、ppt、pdf等。
官網(wǎng):https://x5.tencent.com/tbs/guide/sdkInit.html。
要吐槽的是官方的接入文檔不是很清晰,論壇問題也基本沒人回答......
好在網(wǎng)絡(luò)上有不少人總結(jié)了接入流程和遇到的坑,可以參考。

小坑

接入之后還是遇到一個小坑,就是加載文檔后右下角會有菜單,有“查找”、“最近文件”等。然而,點擊菜單是沒有任何效果的……需要觸摸一下頁面才會消失,而且沒有提供隱藏的API。


不明來歷的菜單.png

填坑

很明顯,首先想到的解決方法有兩個:

  1. 模擬觸摸
  2. 找到對應(yīng)的View,然后隱藏

這里采用了第二個方法。
打印一下就可以看到TbsReaderView的整個結(jié)構(gòu),要做的就是把設(shè)置一下菜單view的可見性。

View結(jié)構(gòu).png

另外有個要注意的地方,這個菜單view是在加載文檔后才會加進頁面的。所以需要在加載文檔后再隱藏該菜單view。

具體就是在加載文檔后,監(jiān)聽到菜單View加進來,馬上隱藏。關(guān)鍵代碼如下:

tbsReaderView.setOnHierarchyChangeListener(new ViewGroup.OnHierarchyChangeListener() {
            @Override
            public void onChildViewAdded(View parent, View childView) {
                if (childView instanceof FrameLayout) {
                    final FrameLayout frameLayout = (FrameLayout) childView;
                    frameLayout.setOnHierarchyChangeListener(new ViewGroup.OnHierarchyChangeListener() {
                        @Override
                        public void onChildViewAdded(View parent, View childView) {
                            if (childView.getClass().getSimpleName().equals("MenuView")) {
                                childView.setVisibility(View.GONE);
                                //移除監(jiān)聽
                                tbsReaderView.setOnHierarchyChangeListener(null);
                                frameLayout.setOnHierarchyChangeListener(null);
                            }
                        }

                        @Override
                        public void onChildViewRemoved(View view, View view1) {

                        }
                    });
                }
            }

            @Override
            public void onChildViewRemoved(View view, View view1) {

            }
        });
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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