我有以下代码在Picasso中加载图像,使用drawable在占用图像下载时显示占位符.我想要的是一个动画旋转进度条样式微调器,在图像加载时围绕和周围动画,就像我在大多数专业应用程序中看到的那样.毕加索似乎不支持这一点,只有静态图像可绘制.有没有办法让它与毕加索合作,还是我必须做一些与众不同的事情?
Picasso.with(context).load(url)
.placeholder(R.drawable.loading)
.error(R.drawable.image_download_error)
.into(view);
Run Code Online (Sandbox Code Playgroud)
DBr*_*ion 243
如何使用Picasso占位符获取加载进度动画图像:
我使用动画旋转xml对象轻松解决了这个问题.
脚步:
progress_image.png

/res/drawable/progress_animation.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>
Run Code Online (Sandbox Code Playgroud)
毕加索装载:
Picasso.with( context )
.load( your_path )
.error( R.drawable.ic_error )
.placeholder( R.drawable.progress_animation )
.into( image_view );
Run Code Online (Sandbox Code Playgroud)
Aka*_*ore 68
我实现了进度对话框,直到图像下载,非常简单.将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
}
});
}
Run Code Online (Sandbox Code Playgroud)
请享用.:)
不幸的是,毕加索不支持动画占位符。
解决这个问题的一种方法是将 ImageView 放置在 FrameLayout 中,并在下面放置动画可绘制对象。这样,当毕加索加载图像时,它将加载到动画占位符的顶部,为用户提供预期的效果。
或者,您可以将图像加载到Target中。然后,默认情况下会显示进度条,并且当调用 onBitmapLoaded 方法时,您可以隐藏它并显示图像。你可以在这里看到这个的基本实现
| 归档时间: |
|
| 查看次数: |
70515 次 |
| 最近记录: |