2013-06-20 4 views
3

'야간 모드'를 추가하려는 WebView 기반 앱이 있습니다. 내 첫 번째 본능은 야간 모드의 사용 여부에 따라 매번 올바른 CSS 값을 렌더링하도록 프로그램을 설정하는 것이었지만 훌륭하게 작동했지만 모드를 전환 할 때마다 페이지를 다시로드해야한다는 것을 의미합니다. 페이지를 새로 고침하지 않고도 역순으로 CSS 값을 변경할 수있는 방법이 있습니까?다시로드하지 않고 웹보기에서 CSS 값을 동적으로 변경 (Android)

답변

3

페이지의 DOM에 코드를 삽입 할 수 있습니다. 그래서 당신은 예를 들어 리셋 스타일 시트를 가질 수 있으며,이 같은 필요에 따라 다음 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

관련 문제