Skip to content Skip to sidebar Skip to footer

Picasso And Photoview Library Loads Image Into Imageview Weird

I'm loading images into an ImageView with the Picasso library and then using the PhotoView Library to add zoom and panning etc.. to the ImageView. But when picasso has loaded the

Solution 1:

I had the same problem with the misplaced image when using Picasso and Photoview together.

To solve it, what I do is to use a callback when loading the image with Picasso using into(view, callback) instead of just into(view). Once the image is loaded successfully I instantiate the PhotoViewAttacher object or call the method update().

Here you have an example of code:

Callback imageLoadedCallback = new Callback() {

    @Override
    publicvoidonSuccess() {
        if(mAttacher!=null){
            mAttacher.update();
        }else{
            mAttacher = new PhotoViewAttacher(mImageView);
        }
    }

    @Override
    publicvoidonError() {
        // TODO Auto-generated method stub

    }
};

Picasso.with(mContext)
.load(mImageUrl)
.into(mImageView,imageLoadedCallback);

I hope this helps. Regards.

Solution 2:

I also had the same problem. I solved it by using PhotoView instead of ImageView and removed the PhotoViewAttacher from my code.

In layout file (if you use layout):

<uk.co.senab.photoview.PhotoView
    android:id="@+id/your_photo_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    ... />

And in your code:

PhotoView photoView = (PhotoView) findViewById(R.id.your_photo_view);
Picasso.with(context)
        .load(file)
        ...
        .into(photoView);

Now everything must be correct (at least for me it is!);

Post a Comment for "Picasso And Photoview Library Loads Image Into Imageview Weird"