3

我正在使用 Universal Image Loader 库来加载一组图像和 TouchImageView 以允许缩放。我决定用毕加索替换 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 对毕加索的一些问题吗?任何帮助都是不言而喻的。谢谢。

4

3 回答 3

5

Mahram Foadi 在这里发布了一个非常适合我的解决方案:

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 一起使用;)

于 2016-04-19T14:02:15.853 回答
0

当我将图像宽度和高度从 wrap_content 设置为 fill_parent 时,我发现整个问题以某种方式得到了解决。

于 2014-09-18T13:19:53.503 回答
0

这是如果您使用 Glide。Glide 加载速度比 picasso 更快,内存消耗更便宜

Glide.with(context).load(url).asBitmap().into(new SimpleTarget<Bitmap>() {
    @Override
    public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
        someTouchImageView.setImageBitmap(resource);
    }
});
于 2016-04-22T15:40:03.660 回答