ImageViewZoomとUniversal Image LoaderをImagePagerActivityで使用したいと思います。ImageViewZoomで画像が表示されない
だから、私がやったこと:
- 私はクラスパスを投影するimageviewtouch.jarを追加しました。
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; }
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ですが、もちろんズーム機能はありません。私が間違っていることを誰かが知っていれば、とても感謝しています。 (私の英語には申し訳ありません)
アニメーションのフェードを使わずに試しましたか? – Joony
はい、私は試しましたが、問題を解決していません... –
ImageViewTouchに '' 'android:layout_height =" 0dp "' ''があるのはなぜですか? – NOSTRA