Search Results

Search Results for 'progressbar' : 1 POSTS

  1. 2010.08.07 웹뷰 사용하기 (WebView)

웹뷰 사용하기 (WebView)


1. AndroidManifest.xml 퍼미션 설정



2. xml layout 설정

  
  
  
  
  





3. Source Code



- 웹뷰에 웹페이지 삽입하기
Webview wv = (WebView)findviewbyid(R.id.wv);
wv.loadUrl(url);


(1) ProgressBar 추가하기
- 페이지 로딩상태는 setWebChromeClient 를 이용해 가져오며 상태값 변화시 onProgressChanged 가 호출됩니다.
- view는 변화된 해당 webview이며 progress는 로딩율입니다.

wv.setWebChromeClient(new WebChromeClient() {   
   ProgressBar pb = (ProgressBar)findViewById(R.id.ProgressBar);

   public void onProgressChanged(WebView view, int progress) {
      pb.setProgress(progress); // ProgressBar값 설정
    
      if(progress == 100){ // 모두 로딩시 Progressbar를 숨김
         pb.setVisibility(View.GONE);
      } else{
         pb.setVisibility(View.VISIBLE);
      }
   }
});


(2) ZoomControl 추가하기
View zoom = wv.getZoomControls();
zoom.setVisibility(View.GONE);
((LinearLayout)findViewById(R.id.ZoomArea)).addView(zoom);


(3) WebView Settings
http://developer.android.com/reference/android/webkit/WebSettings.html

wv.getSettings().setJavaScriptEnabled(true); // 자바스크립트 허용(Default. 비허용)
wv.getSettings().setLoadsImagesAutomatically(true);
wv.getSettings().setSavePassword(false);
wv.getSettings().setSaveFormData(false);
wv.getSettings().setSupportZoom(true);
wv.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
wv.getSettings().setUserAgent(1);
wv.getSettings().setSupportMultipleWindows(false);




- 웹뷰에 html코드 직접 삽입하기
final String tag = "Hello World! - 1";
final String mimeType = "text/html";
final String encoding = "utf-8";
Webview wv = (WebView)findviewbyid(R.id.wv);
wv.loadData(tag, mimeType, encoding);
비밀글