2013-06-20 33 views
3

我有一個基於WebView的應用程序,我想添加一個'夜間模式'。 我的第一本能就是讓程序每次渲染正確的CSS值,具體取決於夜間模式是否開啓,並且效果很好,但這意味着每次模式切換時都必須重新加載頁面。 有沒有什麼辦法可以改變CSS的價值而不必重新加載頁面?動態更改webview中的css值而無需重新加載(Android)

回答

3

您可以將代碼注入到您的頁面的DOM中。所以,你可以例如有一個復位樣式,然後用注射javascript中的白天或夜晚模式類到DOM的要求是這樣的:

public class WebClient extends WebViewClient { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return true; 
    } 

    @Override 
    public void onPageFinished(WebView view, String url) 
    {  
     view.loadUrl("javascript:document.getElementById(id).style.property=new style");  
    } 
} 

HTH

相關問題