你如何添加一个进度条到毕加索库与此代码下载照片如何进度栏添加到毕加索库
String Url = "link url";
Picasso.with(G.currentActivity).load(Url).into(imageView);
你如何添加一个进度条到毕加索库与此代码下载照片如何进度栏添加到毕加索库
String Url = "link url";
Picasso.with(G.currentActivity).load(Url).into(imageView);
目前在毕加索库没有进展回调。根据作者杰克·沃顿(Jake Wharton)的说法,这不太可能在未来实施到图书馆中,并且不易实施。按照feature request:
[进度回调]将需要复杂的机制来非常小的收益。我们建议您使用不确定的进度指示器,因为图片下载应该相对较快。
我会建议遵循使用不确定进度指示器的建议 - 如果您的图像需要一段时间下载,您可能需要调查是否在加载图像之前在UI线程上做了太多工作或者您正在加载的图像是大文件大小。
此功能暂时不可用。但是,您可以在imageview顶部放置一个进度条,并在下载图像时附加一个回调函数,然后隐藏进度条。
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:gravity="center_vertical">
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone"
android:scaleType="center"/>
<ProgressBar
style="@android:style/Widget.Holo.Light.ProgressBar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"/>
</RelativeLayout>
那么这样的事情在你的活动
import com.squareup.picasso.Callback;
public class MyActivity extends Activity implements Callback {
private View loaderView;
private ImageView imageView;
// ...
private synchronized void loadImage(Uri uri)
{
Picasso.with(this).load(uri)
.error(R.drawable.ic_error)
.placeholder(R.drawable.ic_placeholder)
.resize(getImageWidth(), getImageHeight())
// passes this object as it's callback when image is loaded
.centerCrop().into(imageView, this);
}
@Override
public void onSuccess()
{
// hide the loader and show the imageview
loaderView.setVisibility(View.GONE);
imageView.setVisibility(View.VISIBLE);
}
@Override
public void onError()
{
// hide the loader and show the imageview which shows the error icon already
loaderView.setVisibility(View.GONE);
imageView.setVisibility(View.VISIBLE);
}
}
谢谢.....我可以使用片段吗? –
当然你可以... –
我不能使用代码片段 –
我们可以添加一个进度条或以其他方式处理的图像回调正在加载有:
// Show progress bar
progressBar.setVisibility(View.VISIBLE);
// Hide progress bar on successful load
Picasso.with(this).load(imageUrl)
.into(imageView, new com.squareup.picasso.Callback() {
@Override
public void onSuccess() {
if (progressBar != null) {
progressBar.setVisibility(View.GONE);
}
}
@Override
public void onError() {
}
});
我找到解决方案from here
我不明白你的意思@ sky_man847 –