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