Webページのロード時にプログレスバーを表示するようにする・・・。
activity_main.xmlは、
真ん中にLinearLayoutを追加、その中にProgressBarを設置・・・。
android:indeterminate="false"で、最小値や最大値のあるタイプのものに・・・。
android:max="100"で最大値は100・・・。
style="?android:attr/progressBarStyleHorizontal"にすると、横方向のプログレスバーに・・・。
でページロードの進捗情報を得るには、WebChromeClientを継承したクラスを作る必要があるので、
で、
とし、
こう書く・・・。
activityからprogressBarオブジェクトを取得し、setProgressで引数のprogressをセットする・・・。
これでprogressBarオブジェクトには進捗情報が渡る・・・。
このprogressBarオブジェクトは、
MainActivityに定義しておいたもので、
最初は非表示・・・。
その前に、
CustomWebViewClientと同様に、CustomWebChromeClientのインスタンスもwebViewにセットしておく・・・。
これでwebViewの進捗に変化があれば、さっきのonProgressChangedに処理が飛ぶ・・・。
あとは、
ロード開始のonPageStartedではprogressBarを表示し、ロード終了のonPageFinishedではprogressBarを非表示にする・・・。
でこれをロードすると、
プログレスバーが表示される・・・。
ロードが終わるとプログレスバーはまた消える・・・。
https://github.com/bg1bgst333/Zinc/tree/develop/android/empty_activity/android_studio/src/Zinc