본문 바로가기

옛글/코드창고

안드로이드 WebView 로딩 중 게이지 막대표시하기

반응형











지난 번에 포스팅한 로딩 게이지 막대는 
타이틀바에 표시를 하는 것이였는데, 저는 타이틀바를 UI상 사용하지 않기 때문에

프로그레스 바를 위에 작게 표시해서 채워지는 형태로 만든 코딩입니다.
기존 예제들은 막혀서 꽤나 바꿔댔네요. 아래 코드 참조하세요!

JAVA파일 


public class WebtestActivity extends Activity {

    /** Called when the activity is first created. */

private WebView myWebView;

private ProgressBar progressBar1;

final Activity activity = this;


 

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        getWindow().requestFeature(Window.FEATURE_PROGRESS);

        setContentView(R.layout.main);

        

        

        myWebView = (WebView) findViewById(R.id.webview); 

        progressBar1 = (ProgressBar) findViewById(R.id.progressBar1);

        

        // 

        

        String url = "http://pressblog.co.kr"; 

        myWebView.setWebViewClient(new WebViewClient());

        //myWebView.setWebChromeClient(new ProgressBarWebchromeClient());

        myWebView.getSettings().setJavaScriptEnabled(true);

        myWebView.loadUrl(url);

      

        myWebView.setWebChromeClient(new WebChromeClient() 

        {  

               public void onProgressChanged(WebView view, int progress) 

               {  

                   if (progress<100)

                   {

                  progressBar1.setVisibility(ProgressBar.VISIBLE);

                   }

                   else if (progress==100)

                   {

                  progressBar1.setVisibility(ProgressBar.GONE);

                   }

                   progressBar1.setProgress(progress);  

               }   

        });

    }

}

 
XML 파일 

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical" >



    <ProgressBar

        android:id="@+id/progressBar1"

        style="?android:attr/progressBarStyleHorizontal"

        android:layout_width="fill_parent"

        android:layout_height="5dp"

        

         />


 <WebView 

        android:id="@+id/webview"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

    />


</LinearLayout>

 
위와 같구요. 기존의 Progressbar의 스타일을 막대로 변경해서 사용한 예제입니다.  
반응형