2011-03-16 4 views
1

사용자가 웹 페이지를 아래로 스크롤하고 사용자가 웹 페이지를 맨 위로 스크롤 한 다음 위쪽으로 스크롤하면 숨길 수있는 기본 브라우저 앱과 같은 주소 표시 줄을 구현하고 싶습니다.WebView에서 스크롤 할 주소 목록 표시 줄을 구현하려면 어떻게해야합니까?

감사합니다. 자신의 손가락으로 사용자가 스크롤 및 모든 손가락을 해제하는 경우

mWebView.setOnTouchListener(new OnTouchListener() { 
     public boolean onTouch(View v, MotionEvent me){ 
      if(me.getAction() == MotionEvent.ACTION_UP){ //You might try with MotionEvent.ACTION_MOVE also, but you'll get way more calls. 
       if(mWebView.getScrollY() == 0){ 
        //You are at the top, do what you need to do in order to show your address bar. 
       } 
      } 

      return false; 
     } 
    }); 

이 예제가 작동합니다

+0

언제든지 [브라우저 소스 코드] (http://android.git.kernel.org/?p=platform/packages/apps/Browser.git;a=summary)를 읽을 수 있습니다. –

답변

0

는이처럼 0입니다 있는지 확인하기 위해 당신을 위해 wv.getScrollY을 (검사 웹뷰을)를 onTouchListener를 설정 길 위. 사용자가 상단으로 스크롤 한 모든 가능한 방법을 처리하지 않습니다. 나는 이상적인 솔루션을 WebView를 재정의하고 리스너를 추가하여 getScrollY()가 0에서 변경 될 때마다 호출을 보냅니다.

+0

WebView의 스크롤이 상단에 있는지 확인하는 것뿐만 아니라 Android 내장 브라우저의 동일한 스크롤 동작을 원합니다. – basicsharp

0
try { 
     Method m = WebView.class.getMethod("setEmbeddedTitleBar", new Class[] { View.class }); 
     m.invoke(mWebView, url_bar); 
    } 
    catch(Exception e) { 
    } 

mWebView는 웹보기 (..)을하고 url_bar는 상단에 원하는이다.

편집
here 더 읽고 허용 대답의 설명에주의를 기울이십시오.

관련 문제