2012-11-13 10 views
5

ImageViewZoomUniversal Image LoaderをImagePagerActivityで使用したいと思います。ImageViewZoomで画像が表示されない

だから、私がやったこと:

  1. 私はクラスパスを投影するimageviewtouch.jarを追加しました。
  2. ImagePagerActivityでは、instantiateItem()関数の1行を変更しました。私はImageViewのある行をコメントし、私はit.sephiroth.android.libraryにImageViewのを交換

    /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行)にそれを置き換えます.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> 
    

私は、このAndroidのアプリケーションを実行するが、私はメニュー画面で画像のポケットベルを選択すると、何の画像、黒のみ画面を表示はありません。私がImageViewTouchを元のImageViewに変更すると、すべてがOKですが、もちろんズーム機能はありません。私が間違っていることを誰かが知っていれば、とても感謝しています。 (私の英語には申し訳ありません)

+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

関連する問題