滑动更新进度条

时间:2016-10-25 18:22:16

标签: android image android-progressbar android-glide

我想用渐进式替换正常的循环进度条。

      <LinearLayout android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="center">

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/image"/>

            <ProgressBar
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/pb"
                android:visibility="visible"
                android:max="100"
                style="@android:style/Widget.ProgressBar.Horizontal"/>

        </LinearLayout>

我用Glide加载此图片:

  Glide.with(getApplicationContext())
  ....
 .listener(new RequestListener<String, GlideDrawable>() {
                        @Override
                        public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
                            return false;
                        }

                        @Override
                        public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
                            progressBar.setVisibility(View.GONE);
                            return false;
                        }

在最终结果出来之前,如何通过滑行增加进度条?

2 个答案:

答案 0 :(得分:0)

如果要在从服务器下载图像之前显示进度条,则可以使用占位符:

Glide.with(context)
                    .load("IMAGE URL")
                    .placeholder(R.drawable.animview)
                    .error(R.drawable.search)
                    .diskCacheStrategy(DiskCacheStrategy.ALL)
                    .into(holder.iv);

对于animview.xml:

<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/spinner"
    android:pivotX="50%"
    android:pivotY="50%"/>

使用像进度条那样的可绘制图像。

答案 1 :(得分:0)

你需要使用一个拦截器来实现滑行的okhttpclient。这是一个显示如何执行此操作的链接:

sample for showing progress bar with glide