WebView.setWebChromeClient

WebChromeClientも、WebViewのカスタマイズに関するオブジェクトだが、こちらはWebページのロード進捗や、faviconなど、UIに関するものが多い・・・。

setWebChromeClientで新たにWebChromeClient派生のオブジェクトをセットして、Webページのロード進捗を表示するようにカスタマイズする・・・。

WebView | Android Developers

activity_main.xmlは、

webviewの上にprogresstextviewというTextViewを設置・・・。

findViewByIdでprogressTextViewを取得・・・。
webView.setWebChromeClientにnewで生成したWebChromeClient派生のクラスオブジェクトをセット・・・。
onProgressChangedをオーバーライド・・・。
渡される進捗newProgressに"%"を付けてprogressTextViewにセットする・・・。

f:id:BG1:20170109121312p:plain

最初はURLバーの下に何も表示されていないが、ロードすると、

f:id:BG1:20170109121343p:plain

ロードが進むたびに進捗率が表示される・・・。
この時点で50%・・・。

f:id:BG1:20170109121442p:plain

でロードが完了すると100%になる・・・。

Sample/android/WebView/setWebChromeClient/src/WebView at master · bg1bgst333/Sample · GitHub