一款Android WebView進度條顯示控制項,使其載入進度平滑過渡。

  • 2019 年 10 月 6 日
  • 筆記

WebProgress

一款Android WebView進度條顯示控制項,使其載入進度平滑過渡。

GitHub地址:WebProgress

Gif Preview

演示圖

gif可能有點卡,可下載使用此控制項的WebView項目查看:網頁瀏覽器

Use

  • 建議直接將類拷貝到項目中:WebProgress
  • xml文件引入:
 <me.jingbin.library.WebProgress           android:id="@+id/progress"           android:layout_width="match_parent"           android:layout_height="2dp" />
  • 顯示處理:
 mProgress.show(); // 顯示   mProgress.setWebProgress(50);              // 設置進度   mProgress.setColor("#D81B60");             // 設置顏色   mProgress.setColor("#00D81B60","#D81B60"); // 設置漸變色   mProgress.hide(); // 隱藏

in WebView

  • 顯示進度條:
mWebView.loadUrl(mUrl);  mProgress.show();
  • 處理返回進度:
@Override  public void onProgressChanged(WebView view, int newProgress) {      super.onProgressChanged(view, newProgress);      mProgress.setWebProgress(newProgress);  }
  • 頁面載入結束時:
 @Override   public void onPageFinished(WebView view, String url) {      // html載入完成之後,無網隱藏進度條      if (!CheckNetwork.isNetworkConnected(this)) {          mProgress.hide();      }      super.onPageFinished(view, url);  }

Thanks

此類是從項目Justson/AgentWeb-WebIndicator中將處理WebView進度條剝離出來的,在此基礎上進行優化後合併為一個類,便於導入到自己的項目中。其中大部分程式碼出自原作者,感謝作者的開源精神。

優化處:

  • 1.增加能顯示進度漸變色
  • 2.修復progress同時返回兩次100時進度條出現兩次
  • 3.當一條進度沒跑完,又點擊其他鏈接開始第二次進度時,第二次進度不出現
  • 4.修改消失動畫時長,使其消失時可以看到進度跑完

End

  • 有問題或更好的建議,歡迎提Issues,我會及時處理,謝謝。
  • 最後附一遍GitHub地址?:WebProgress

Tags: