2012-11-13 18 views
5

ImageViewZoom을 ImagePagerActivity에 Universal Image Loader과 함께 사용하고 싶습니다.ImageViewZoom에 이미지가 표시되지 않습니다.

그래서, 내가 무슨 짓을했는지 :

  1. 나는 클래스 경로를 프로젝트 imageviewtouch.jar을 추가했다.
  2. ImagePagerActivity에서 instantiateItem() 함수에서 한 줄을 변경했습니다. I는 이미지 뷰이다 선 댓글 난에 it.sephiroth.android.library 이미지 뷰 대체

    /res/layout/item_pager_image.xml에서
    @Override 
    public Object instantiateItem(View view, int position) { 
        final View imageLayout = inflater.inflate(R.layout.item_pager_image, null); 
        //final ImageView imageView = (ImageView) imageLayout.findViewById(R.id.image); 
        final ImageViewTouch imageView = (ImageViewTouch) imageLayout.findViewById(R.id.image); 
    
        final ProgressBar spinner = (ProgressBar) imageLayout.findViewById(R.id.loading); 
        final TextView textView = (TextView)imageLayout.findViewById(R.id.text); 
    
        imageLoader.displayImage(images[position], imageView, options, new ImageLoadingListener() { 
    
    
         public void onLoadingStarted() { 
          spinner.setVisibility(View.VISIBLE); 
         } 
    
    
         public void onLoadingFailed(FailReason failReason) { 
          String message = null; 
          switch (failReason) { 
           case IO_ERROR: 
            message = "Input/Output error"; 
            break; 
           case OUT_OF_MEMORY: 
            message = "Out Of Memory error"; 
            break; 
           case UNKNOWN: 
            message = "Unknown error"; 
            break; 
          } 
          Toast.makeText(ImagePagerActivity.this, message, Toast.LENGTH_SHORT).show(); 
    
          spinner.setVisibility(View.GONE); 
          imageView.setImageResource(android.R.drawable.ic_delete); 
         } 
    
    
         public void onLoadingComplete(Bitmap loadedImage) { 
          spinner.setVisibility(View.GONE); 
          Animation anim = AnimationUtils.loadAnimation(ImagePagerActivity.this, R.anim.fade_in); 
          imageView.setAnimation(anim); 
          anim.start(); 
         } 
    
    
         public void onLoadingCancelled() { 
          // Do nothing 
         } 
        }); 
    
        ((ViewPager) view).addView(imageLayout, 0); 
        return imageLayout; 
    } 
    
  3. ImageViewTouch (4, 5 행)으로 대체

    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:padding="1dip" > 
    
        <it.sephiroth.android.library.imagezoom.ImageViewTouch 
        android:layout_weight="1" 
        android:id="@+id/image" 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:scaleType="fitCenter" /> 
    
        <ProgressBar 
        android:id="@+id/loading" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:visibility="gone" /> 
    
    </FrameLayout> 
    

.imagezoom.ImageViewTouch
나는이 안드로이드 응용 프로그램을 실행,하지만 메뉴 화면에서 이미지 호출기를 선택할 때, 단지 검은 화면 표시 이미지가 없습니다. logcat에서 이미지가 다운로드되고 표시되는 것을 볼 수 있습니다 ... 원래 ImageView로 ImageViewTouch를 변경하면 모든 것이 정상이지만 물론 확대/축소 기능은 없습니다. 누군가 내가 뭘 잘못했는지 안다면, 나는 매우 감사 할 것입니다. (내 영어 미안)

+0

페이드 인 애니메이션없이 시도해 보셨습니까? – Joony

+0

예, 시도했지만 문제가 해결되지 않았습니다 ... –

+0

ImageViewTouch에'''android : layout_height = "0dp"'''가있는 이유는 무엇입니까? – NOSTRA

답변

0

ImageViewTouch 매개 변수를 android:layout_height="0dp"에서 다른 값으로 변경하십시오.

+0

NOSTRA 님, 안녕하세요. 뷰포트에서도 같은 문제에 직면하고 있습니다. 나는 이미지를 확대 할 수 있으며 이미지가 줌 위치에 있으면 이미지의 다른 구석을 볼 수 없다. 이미지가 확대되어 있고 중앙 위치에 있으면 같은 이미지의 오른쪽 부분을보고 왼쪽으로 스 와이프하여 다음 이미지로 이동하려고합니다. 이 문제를 어떻게 극복 할 수 있습니까? 도와주세요. – wolverine

+0

안녕하세요, 귀하의 문제는 상당히 다릅니다. 별도의 질문을 만듭니다. – NOSTRA

+0

나는 질문을했다. 이것을보십시오. http://stackoverflow.com/questions/13398288/image-zoom-issue-with-universal-image-loader-and-view-pager – wolverine

관련 문제