你如何添加一個進度條到畢加索庫與此代碼下載照片如何進度欄添加到畢加索庫
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 –