【问题标题】:How to Add progress bar to ViewPager in Android如何在 Android 中向 ViewPager 添加进度条
【发布时间】:2012-04-17 21:50:24
【问题描述】:

如何在 Android 中为 ViewPager 添加进度条?

我的情况是我必须在 ViewPager 中加载 imageURL。当用户滑动页面时,如果 ImageURL 没有加载,我需要显示进度条/正在加载 GIF 图片。

有可能吗?

【问题讨论】:

  • 尝试在你的场景中使用lazy loading。在这个东西中使用普通的优先级线程在后台渲染你的图像。在你的情况下尝试使用进度对话框而不是进度条。

标签: android android-layout android-emulator android-viewpager


【解决方案1】:

您可以尝试在自己的视图中处理它,而不是将其与 viewpager 捆绑在一起。

【讨论】:

    【解决方案2】:

    我认为 Satya 正在考虑以下类似的事情。 在您的 viewpager 适配器类中,您应该有这个方法:

    @Override
                public Object instantiateItem(View collection, final int position) {
    
                    LayoutInflater inflater = (LayoutInflater) collection.getContext()
                            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    
    
                    final FrameLayout imageLayout = (FrameLayout) inflater.inflate(R.layout.fotopager_buttons, null);
                    final ImageView imageView = (ImageView) imageLayout.findViewById(R.id.image);
                    final ProgressBar spinner = (ProgressBar) imageLayout.findViewById(R.id.loading);
    
                    imageLoader.displayImage(Gallery.get_big_image_url(position), imageView, options, new ImageLoadingListener() {
                        @Override
                        public void onLoadingStarted() {
                        spinner.setVisibility(View.VISIBLE);
                        }
    
                        @Override
                        public void onLoadingFailed() {
                        spinner.setVisibility(View.GONE);
                        imageView.setImageResource(android.R.drawable.ic_delete);
                        }
    
                        @Override
                        public void onLoadingComplete() {
                        spinner.setVisibility(View.GONE);
                        }
                        });
    
    
                    views.put(position, iv);
    
                    ((ViewPager) collection).addView(imageLayout,0);
    
                    return imageLayout;
    }
    

    还有像这样的 R.layout.fotopager_buttons.xml:

    <?xml version="1.0" encoding="utf-8"?>
    

    <ImageView
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:adjustViewBounds="true" />
    
    <ProgressBar
        android:id="@+id/loading"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"/>
    

    您可以在此处查看 imageLoader 类的其余部分:https://github.com/nostra13/Android-Universal-Image-Loader/blob/master/UniversalImageLoaderExample/src/com/nostra13/example/universalimageloader/ImagePagerActivity.java

    【讨论】:

    • 这是出现运行时异常的问题..显示 Configuration=null
    • 好吧,我刚刚发布了一段完整的代码。让我们尝试检查所附链接中的所有其余部分。
    • 我从那个链接下载了代码..它工作正常,但如果我添加我的 imageURLS 则存在问题
    • @Zappescu 附加的链接不再有效!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    • 2010-12-28
    • 2021-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多