一款Android WebView進度條顯示控件,使其加載進度平滑過渡。

WebProgress

一款Android WebView進度條顯示控件,使其加載進度平滑過渡。html

GitHub地址:WebProgressjava

Gif Preview

演示圖

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

Use

  • 先在 build.gradle 的 repositories 添加:git

    allprojects {
    	repositories {
    		...
    		maven { url "https://jitpack.io" }
    	}
    }
    複製代碼
  • 而後在dependencies添加:github

    dependencies {
           implementation 'com.github.youlookwhat:WebProgress:1.1.0'
       }
    複製代碼
  • 或者直接將類拷貝到項目中:WebProgressweb

  • xml文件引入:瀏覽器

    <me.jingbin.progress.WebProgress android:id="@+id/progress" android:layout_width="match_parent" android:layout_height="2dp" />
    複製代碼
  • 顯示處理:app

    mProgress.show(); // 顯示
     mProgress.setWebProgress(50);              // 設置進度
     mProgress.setColor("#D81B60");             // 設置顏色
     mProgress.setColor("#00D81B60","#D81B60"); // 設置漸變色
     mProgress.hide(); // 隱藏
    複製代碼

in WebView

  • 顯示進度條:maven

    mWebView.loadUrl(mUrl);
    mProgress.show();
    複製代碼
  • 處理返回進度:ide

    @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進度條剝離出來的,在此基礎上進行優化後合併爲一個類,便於導入到本身的項目中,感謝做者的開源精神。若是此項目幫助到你,請給一個Star,很是感謝!

優化處:

  • 1.增長能顯示進度漸變色
  • 2.修復progress同時返回兩次100時進度條出現兩次
  • 3.[2019.9.29] 修復當第一次進度返回 0 或超過 10,出現不顯示進度條的問題
  • 4.修復當一條進度沒跑完,又點擊其餘連接開始第二次進度時,第二次進度不出現的問題
  • 5.修改消失動畫時長,使其消失時能夠看到進度跑完

End

  • 有問題或更好的建議,歡迎提Issues,我會及時處理,謝謝。
  • 最後附一遍GitHub地址😁:WebProgress
相關文章
相關標籤/搜索