2012-11-13 6 views
5

Ich möchte mit Universal Image Loader in ImagePagerActivity verwenden.Bild wird nicht in ImageViewZoom angezeigt

Also, was ich tat:

  1. Ich habe imageviewtouch.jar Classpath zu projizieren.
  2. In ImagePagerActivity habe ich eine Zeile in der Funktion instantiateItem() geändert. I kommentierten Zeile, in Image und ersetzt es ImageViewTouch (4. und 5. Zeile)

    @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. In /res/layout/item_pager_image.xml I Image zu it.sephiroth.android.library ersetzen .imagezoom.ImageViewTouch

    <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> 
    

ich betreibe diese Android-Anwendung, aber wenn ich Bild Pager im Menübildschirm wählen, gibt es kein Bild angezeigt wird, nur schwarzer Bildschirm. In logcat sehe ich, dass das Bild heruntergeladen und angezeigt wurde ... Wenn ich ImageViewTouch zu original ImageView ändere, ist alles in Ordnung, aber natürlich gibt es keine Zoom-Funktion. Wenn jemand weiß, was ich falsch mache, wäre ich sehr dankbar. (Entschuldigung für mein Englisch)

+0

Haben Sie es ohne die Einblende-Animation versucht? – Joony

+0

Ja, ich habe versucht, aber es hat das Problem nicht gelöst ... –

+0

Warum hat Ihr ImageViewTouch '' 'android: layout_height =" 0dp "' ''? – NOSTRA

Antwort

0

Ändern Sie den ImageViewTouch-Parameter von android:layout_height="0dp" auf einen anderen Wert.

+0

Hallo NOSTRA, ich habe auch das gleiche Problem mit Viewpager. Ich kann das Bild zoomen, und wenn das Bild in Zoomposition ist, kann ich die anderen Ecken des Bildes nicht sehen. Wenn ein Bild gezoomt wird und ich mich in der Mittelposition befinde, wenn ich den rechten Teil des gleichen Bildes sehen und nach links wischen möchte, gehe ich zum nächsten Bild. Wie kann ich dieses Problem überwinden? Bitte hilf mir. – wolverine

+0

Hallo, dein Problem ist ganz anders. Erstellen Sie eine separate Frage. – NOSTRA

+0

Ich habe eine Frage gestellt. bitte sieh dir das an. http://stackoverflow.com/questions/13398288/image-zoom-issue-with-universal-image-loader-and-view-pager – wolverine