一款Android WebView進度條顯示控件,使其加載進度平滑過渡。html
GitHub地址:WebProgressjava
gif可能有點卡,可下載使用此控件的WebView項目查看:網頁瀏覽器android
先在 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(); // 隱藏
複製代碼
顯示進度條: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);
}
複製代碼
此類是從項目Justson/AgentWeb-WebIndicator中將處理WebView進度條剝離出來的,在此基礎上進行優化後合併爲一個類,便於導入到本身的項目中,感謝做者的開源精神。若是此項目幫助到你,請給一個Star,很是感謝!
優化處: