2014-09-16 3 views
3

유니버설 이미지 로더 라이브러리를 사용하여 이미지 집합을로드하고 TouchImageView를 사용하여 확대/축소를 허용했습니다. 유니버설 이미지 로더를 피카소로 교체하기로 결정했습니다. 이미지가 이미지보다 약간 큰 프레임 주위를 확대하는 것을 제외하고는 모두 정상적으로 작동했습니다.Picasa로 TouchImageView 줌을 프레임으로 조정

@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와 관련이 있습니까? 어떤 도움을받을 수 있습니다. 감사.

+0

소비 메모리에 빠르게 피카소보다 더로드 저렴에 있거나 당신은 한 가지 .. imageView.setScaleType (ScaleType.Fit_XY) – Chiradeep

+0

그것은 XY에 맞게 때문에 이미지보기 scaling.Scale의 발생 할 수 있습니다. – Chiradeep

+0

@FunLove 제안에 감사하지만 imageView.setScaleType (ScaleType.FIT_XY)을 사용하면 내 경우 확대가 중지되었습니다. – rmad

답변

0

나는 wrap_content에서 fill_parent로 이미지의 너비와 높이를 설정했을 때 문제가 해결되었다고 알았습니다. 당신은 글라이드를 사용하는 경우 다음

5

는 Mahram Foadi 너무 나를 위해 작동 here 훌륭한 솔루션을 기록했다. 글라이드는

Glide.with(context).load(url).asBitmap().into(new SimpleTarget<Bitmap>() { 
    @Override 
    public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) { 
     someTouchImageView.setImageBitmap(resource); 
    } 
}); 
+0

TouchImageView에 대한 링크 https://github.com/MikeOrtiz/TouchImageView/blob/master/src/com/ortiz/touch/TouchImageView.java –

0

이다),이 피카소와 TouchImageView를 사용하는 우리와 같은 다른 사람을 도움이

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); 
    } 
}); 

희망 :