2012-11-13 24 views
5

Universal Image Loader ile ImagePagerActivity içinde ImageViewZoom kullanmak istiyorum.Resim, ImageViewZoom'da görüntülenmiyor

Yani, ne yaptığını:

  1. Ben sınıfyolu proje imageviewtouch.jar ekledi.
  2. ImagePagerActivity uygulamasında, instantiateItem() işlevinde bir satır değiştirdim. I ImageView olan satır yorum ve it.sephiroth.android.library için ImageView yerine

    /res/layout/item_pager_image.xml olarak
    @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. ve 5. çizgi) yerini

    <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
Ben bu Android uygulamayı çalıştırmak ama menü ekranındaki görüntü Çağrı cihazı seçerken, sadece siyah ekran görüntülenir bir görüntüsü var. Logcat'ta görüntünün indirildiğini ve görüntülendiğini görüyorum ... Eğer ImageViewTouch'ı orijinal ImageView olarak değiştirirsem, her şey yolundadır, ancak elbette hiçbir yakınlaştırma özelliği yoktur. Birisi yanlış yaptığımı bilirse çok minnettar olurum. (benim ingilizce için üzgünüm)

+0

Animasyonda kaybolmadan denediniz mi? – Joony

+0

Evet, denedim ama sorun çözmedi ... –

+0

ImageViewTouch'ınız neden '' 'android: layout_height =" 0dp "' ''? – NOSTRA

cevap

0

ImageViewTouch parametresini android:layout_height="0dp"'dan başka bir değere değiştirin.

+0

Merhaba NOSTRA, Ben de aynı sorunla karşılaşıyorum. Görüntüyü yakınlaştırabilirim ve eğer görüntü zoom konumunda ise, görüntünün diğer köşelerini göremiyorum. Bir görüntü yakınlaştırılırsa ve orta konumdaysa, aynı görüntünün sağ tarafını görmek ve sola kaydırmak isterseniz bir sonraki resme gider. Bu sorunu nasıl aşabilirim. Lütfen bana yardım et. – wolverine

+0

Merhaba, probleminiz oldukça farklı. Ayrı soru oluştur. – NOSTRA

+0

Bir soru sordum. lütfen buna bakın. http://stackoverflow.com/questions/13398288/image-zoom-issue-with-universal-image-loader-and-view-pager – wolverine