마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

웹뷰관련하여 문의드립니다!

0 추천
public void OpenWebView(String url)
    {
    mWebView2 = new WebView(mHooView.getContext());
    mWebView2.getSettings().setJavaScriptEnabled(true);
        mWebView2.setWebViewClient(new WebViewClient()
        {
        /** 웹페이지 로딩 시작 **/
    @Override
    public void onPageStarted(WebView view,String url , Bitmap favicon)
   
//     super.onPageStarted(view, url, favicon);
//     mWvProgress.setVisibility(ProgressBar.VISIBLE);
    Log.w("HOO", "onPageStarted");
    }
    /** 웹페이지 로딩 완료 **/
    @Override
    public void onPageFinished(WebView view, String url) {
//     mWvProgress.setVisibility(ProgressBar.GONE);
    Log.w("HOO", "onPageFinished");
    }
    /**
        * 방문한 링크를 데이터베이스에 업데이트한다고 알립니다.
        */
       @Override
       public void doUpdateVisitedHistory(WebView view, String url, boolean isReload) { 
           Log.w("HOO", "History: " + url );
//     mWvProgress.setVisibility(ProgressBar.GONE);
           super.doUpdateVisitedHistory(view, url, isReload);
       }
       public boolean shouldOverrideUrlLoading(WebView view, String url) {
//     mWvProgress.setVisibility(ProgressBar.VISIBLE);
           return super.shouldOverrideUrlLoading(view, url);
 
       }
        });
        mWebView2.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
        WindowManager wm = (WindowManager) mHooView.getContext().getSystemService( Context.WINDOW_SERVICE );
        WindowManager.LayoutParams params = new WindowManager.LayoutParams();
        params.x = 40;
        params.y = 100;
        params.width = 400;
        params.height = 400;
        params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
        params.gravity = Gravity.LEFT|Gravity.TOP;
        mWebView2.loadUrl("http://www.naver.net");
        wm.addView( mWebView2 ,params );
    }
 
 
위와같이 웹뷰를 생성하여 원하는 위치에 띄우는것까지는 성공했습니다.
그런데 뷰가 갱신이 안되고있습니다..
페이지가 길어서 스크롤을 하면 스크롤이 이동하는모습은 보이지만 실제 화면은 움직이지않습니다;;
 
setContentView(mWebView2); 하면 정상적으로 보이긴 하는데 띄우는 x,y위치를 설정할수가 없더라구요..
 
화면갱신쪽 문제인것 같은데 여기저기 찾아봐도 도저히 모르겠습니다.. 
많은 조언 부탁드리겠습니다!
타리스만 (140 포인트) 님이 2013년 7월 26일 질문

1개의 답변

0 추천

Window에 뷰를 붙이셨으면 화면 갱신은 WindowManager.updateViewLayout 메소드를 이용해야 합니다.

원조안드로이드 (58,190 포인트) 님이 2013년 7월 26일 답변
조언 감사드립니다!
이리저리 낑낑대며 해보고있기는 한데... 그래도 안되네요.. ㅠ_ㅠ;
...