我使用 Universal Image Loader 库来加载一组图像,并使用 TouchImageView 来允许缩放。我决定用 picasso 替换 Universal Image Loader。一切正常,除了现在图像围绕比图像稍大的帧缩放。
@Override
public Object instantiateItem(ViewGroup view, int position) {
View imageLayout = inflater.inflate(R.layout.item_pager_image, view, false);
assert imageLayout != null;
TouchImageView imageView = (TouchImageView) imageLayout.findViewById(R.id.image);
final ProgressBar spinner = (ProgressBar) imageLayout.findViewById(R.id.loading);
spinner.setVisibility(View.INVISIBLE);
Picasso.with(getApplicationContext()).setIndicatorsEnabled(false);
Picasso.with(getApplicationContext()).load(images[position]).into(imageView,new Callback() {
@Override
public void onSuccess() {
spinner.setVisibility(View.GONE);
}
@Override
public void onError() {
}
});
view.addView(imageLayout, 0);
return imageLayout;
我为此花了几个小时的时间。这是 TouchImageView 与 Picasso 的一些问题吗?任何帮助将不胜感激。谢谢。
Mahram Foadi 发布了 here一个对我也适用的好解决方案:
Picasso.with(context).load (someUri).into(new Target () {
@Override
public void onBitmapLoaded (final Bitmap bitmap,
final Picasso.LoadedFrom loadedFrom) {
someTouchImageView.setImageBitmap (bitmap);
}
@Override
public void onBitmapFailed (final Drawable drawable) {
Log.d(TAG, "Failed");
}
@Override
public void onPrepareLoad (final Drawable drawable) {
someTouchImageView.setImageDrawable (drawable);
}
});
希望这可以帮助像我们这样的人将 TouchImageView 与 Picasso 一起使用;)
我是一名优秀的程序员,十分优秀!