当前位置: 首页 > 知识库问答 >
问题:

毕加索的动画加载

暨弘懿
2023-03-14

我有下面的代码来加载毕加索的图像,在下载图像时使用可绘制的占位符来显示图像。不过,我想要的是一个动画旋转进度条样式的微调器,它可以在图像加载时不断地旋转,就像我在大多数专业应用程序中看到的那样。毕加索似乎不支持这一点,只支持静态图像绘制。有没有办法让它与毕加索合作,或者我必须做些不同的事情?

Picasso.with(context).load(url)             
                    .placeholder(R.drawable.loading)
                    .error(R.drawable.image_download_error)
                    .into(view);

共有3个答案

柴彬
2023-03-14

不幸的是,毕加索不支持动画占位符。

解决这个问题的一种方法是将你的ImageView放置在框架布局中,下面是动画绘制。这样,当毕加索加载图像时,它将加载到动画占位符的顶部,给用户预期的效果。

或者,您可以将图像加载到目标中。然后,默认情况下会显示进度条,当调用onBitmapLoaded方法时,可以将其隐藏并显示图像。您可以在这里看到此功能的基本实现

杜骏祥
2023-03-14

我实现了进度对话框,直到图像下载和它非常简单。在相对布局中获取ImageView,并将进度加载器放置在同一个图像视图上。仅应用以下代码并处理进度对话框可见性。

holder.loader.setVisibility(View.VISIBLE);
            holder.imageView.setVisibility(View.VISIBLE);
         final ProgressBar progressView = holder.loader;
            Picasso.with(context)
            .load(image_url)
            .transform(new RoundedTransformation(15, 0))
            .fit()
            .into(holder.imageView, new Callback() {
                @Override
                public void onSuccess() {
                    progressView.setVisibility(View.GONE);
                }

                @Override
                public void onError() {
                    // TODO Auto-generated method stub

                }
            });
        }

享受。:)

袁弘化
2023-03-14

如何使用毕加索占位符加载进度动画图像:

我使用动画旋转xml对象轻松解决了这个问题。

步骤:

progress_image.png

/分辨率/可绘制/进度\动画。xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<item android:gravity="center">
    <animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
        android:drawable="@drawable/progress_image"
        android:pivotX="50%"
        android:pivotY="50%" />
    </item>
</layer-list>

毕加索加载:

Picasso.with( context )
        .load( your_path )
        .error( R.drawable.ic_error )
        .placeholder( R.drawable.progress_animation )
        .into( image_view );
 类似资料:
  • 我有一个从服务器加载映像的项目。我这样用毕加索, 多谢了。

  • 问题内容: 我想使用Picasso在列表视图中一个接一个地加载三个连续的图像。使用毕加索提供的方法可以轻松做到这一点。但是,由于这些图像在不同的时间加载,因此在图像进入时会产生闪烁效果。例如,有时图像2出现在图像1之前,而当图像1加载时会导致不自然的结结。如果可以将listview的可见性设置为不可见,直到可以显示所有图像,那将更好。但是,我找不到用于毕加索的回调方法,该方法会在加载图像时发出信号

  • 我正在使用毕加索图书馆。我知道,如果我将图片从URL加载到图像视图中,有一种回调方法。但我不想加载到imageview中。相反,我想将其另存为位图。所以我用了下面的代码 我怎样才能得到一个回调方法,知道我的图像是成功下载使用毕加索? 不要说位图对象的空检查。这会导致错误。

  • 我面临毕加索无法快速加载图像的问题。 有3个显示左、中、右图像。在快进/后退时,对于给定的时间点,选择左、中、右并显示在三个框中。 这是初始化。缓存是100MB以及99MB的 窗口移动的图像数是3000。所以我将图像预加载为 平均图像大小为10KB-320x180,因此达到35MB,小于99MB。 当快速循环工作时,许多图像是(来自)和(来自),但在几个快速循环之后,3个图像冻结或变得非常慢。此时

  • 问题内容: 我的API具有针对每个HTTP请求的某种验证机制。端点之一具有使用HTTP post方法加载图像的功能。发布请求主体将包含一个从服务器端验证的JSON对象。 为此,我需要在http post请求正文中包含这样的JSON。 我该如何用毕加索做到这一点? 问题答案: 我从杰克逊·成加莱先生的暗示中得到了解决方案。 创建一个Okhttp请求拦截器 创建一个Okhttp客户端,添加此拦截器 使

  • 我可以使用Picasso库从文件系统加载图像吗? 我正在使用让用户从他的图库中选择一张照片,然后想要显示所选图像。 我已经有了获取图像文件系统Uri的工作代码,但无法获取毕加索。load()方法工作。