AndroidProgressLayout
介绍:
在数据加载的时候我们一般会显示正在加载的进度条,而数据加载完成之后进度条消失,呈现的是内容,这种功能要求在两种状态间切换,一般我们是用RelativeLayout(或者FrameLayout)+ progressbar来实现的,维护起来比较麻烦。AndroidProgressLayout封装了这个过程,我们不必在去关注progressbar的具体显示,只需要记住AndroidProgressLayout可以设置该布局是否显示进度条就可以了。
运行效果:
使用说明:
下面介绍和webview使用的情况:
<com.github.androidprogresslayout.ProgressLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:progressLayout="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/progress_layout"
progressLayout:progressBackground="#33B5E5"
progressLayout:progress="false"
>
<WebView
android:id="@+id/web_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.github.androidprogresslayout.ProgressLayout>
根据webview的加载状态显示或者隐藏progressbar:
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
progressLayout.setProgress(true);
}
@Override
public void onPageFinished(WebView view, String url) {
progressLayout.setProgress(false);
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Log.d(TAG, "onReceivedError: " + errorCode + " : " + description + " : " + failingUrl);
super.onReceivedError(view, errorCode, description, failingUrl);
}
});
已下载
0