2014-09-23 5 views
0

페이지 왼쪽 상단 구석에 id = "my_header"인 HTML의 내 제목 중 하나에 WebView를 자동으로 스크롤하면됩니다. 내 조각이로드 될 때 어떻게 수행할까요? 방금 요소에 아래로 스크롤하고 싶은 당신이 자바 스크립트,로드 페이지에 액세스 할 수있는 경우동적으로 WebView 스크롤

WebView myWebView = (WebView) v.findViewById(R.id.web_view); 
myWebView.setWebViewClient(new WebViewClient()); 
myWebView.getSettings().setSupportZoom(true); 
myWebView.getSettings().setUseWideViewPort(true); 
myWebView.getSettings().setBuiltInZoomControls(true); 
myWebView.loadUrl(resource); 
+1

일반적으로 'id'로 스크롤하려면 url 끝에 '# my_header'를 추가하면됩니다. 시도해보고 작동하는지 확인하십시오. 예를 들면 다음과 같습니다. http://stackoverflow.com/questions/25990208/scroll-webview-dynamically#post-editor – musefan

답변

0

, 당신은 페이지로드에 이런 일을 할 수있는 :

var container = $('div'), 
    scrollTo = $('#my_header'); 

container.scrollTop(
    scrollTo.offset().top - container.offset().top + container.scrollTop() 
); 

참조 이 질문 : 당신이 기본 리소스를 수정하지 않으려면 How to scroll to specific item using jQuery?

다음 페이지가로드되면, 자바 스크립트 코드 위를 호출 할 것이다, 당신의 웹보기에 다음 Java 코드를 추가 할 수 있습니다

모든 페이지가 해당 WebViewClient에 의해로드 될 때마다이 자바 스크립트 를 실행됩니다 는
WebView myWebView = (WebView)v.findViewById(R.id.web_view); 
myWebView.getSettings().setSupportZoom(true); 
myWebView.getSettings().setUseWideViewPort(true); 
myWebView.getSettings().setBuiltInZoomControls(true); 
myWebView.getSettings().setJavaScriptEnabled(true); 
myWebView.setWebChromeClient(new WebChromeClient()); 
myWebView.setWebViewClient(new WebViewClient() { 

    @Override 
    public void onPageFinished(WebView view, String url) { 
     String javascript = "javascript:" 
      + "var container = $('div'),scrollTo = $('#my_header');" 
      + "container.scrollTop(scrollTo.offset().top - container.offset().top + container.scrollTop());"; 
     view.loadUrl(javascript); 
    } 
}); 

// Finally, load the page 
myWebView.loadUrl(resource); 

참고. 필요한 경우 특정 페이지에 대한 자바 스크립트 스크롤 코드 만 호출하는 논리를 쉽게 추가 할 수 있습니다.

+0

이것은 자바 스크립트 관련 질문이 아닙니다. 솔루션에서 자바 스크립트를 실행하는 경우 삽입/질문에 따라'WebView를 사용하여 자바 스크립트를 실행 – musefan

+0

내 가정은 그들이 페이지 (즉, 그것에 자바 스크립트를 추가)에 액세스 할 수있는 것이었다. 일단 내가로드 된 모든 페이지에서 자바 스크립트를 실행하는 방법을 나타내는 내 대답을 업데이 트했습니다. –