android關(guān)于Scrollview(或NestedScrollView)嵌套webview出現(xiàn)的問(wèn)題解決

最近在做一些頁(yè)面詳情頁(yè)的時(shí)候,因?yàn)樾枰玫絅estedScrollView嵌套webview進(jìn)行部分網(wǎng)頁(yè)的顯示。因?yàn)橹坝玫氖?.4的android版本測(cè)試的,所有沒(méi)有發(fā)現(xiàn)問(wèn)題。

后來(lái)在android9.0的版本測(cè)試的時(shí)候,才發(fā)現(xiàn)會(huì)出現(xiàn):webview的頁(yè)面顯示為空白或者高度為0這兩種情況。 網(wǎng)上查了好多解決方案,基本都不能用,雖然有一個(gè)在onPageFinished里面重新設(shè)置webview的高度,但是這種限死高度的事情肯定是會(huì)有問(wèn)題的,所有基本也可以放棄這個(gè)方案。

最后通過(guò)測(cè)試webview的加載過(guò)程,在初始化的時(shí)候,預(yù)先加載一段內(nèi)容(什么內(nèi)容都可以),主要是讓webview能計(jì)算一次高度,后面再通過(guò)接口獲取到的url進(jìn)行加載loadUrl(url),就可以正常顯示了,完美解決問(wèn)題。
具體初始化如下

webView = findViewById(R.id.webView); WebSettings settings = webView.getSettings();
 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {                       
       settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); 
    }  
    webView.setWebChromeClient(new WebChromeClient()); 
    webView.setWebViewClient(new SslWebViewClient()); 
    webView.loadData("加載中...","text/html","UTF-8"); 

關(guān)鍵就是最后一行代碼的初始化。 然后通過(guò)接口獲取的到url數(shù)據(jù)進(jìn)行 webView.loadUrl(url); 此時(shí)就會(huì)愉快的發(fā)現(xiàn),空白或者高度為0的情況消失了,媽媽再也不用擔(dān)心我學(xué)習(xí)了。

歡迎關(guān)注本人公眾號(hào)和小程序,謝謝
公眾號(hào)
小程序
?著作權(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),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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