Ich möchte mit Universal Image Loader in ImagePagerActivity verwenden.Bild wird nicht in ImageViewZoom angezeigt
Also, was ich tat:
- Ich habe imageviewtouch.jar Classpath zu projizieren.
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; }
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)
Haben Sie es ohne die Einblende-Animation versucht? – Joony
Ja, ich habe versucht, aber es hat das Problem nicht gelöst ... –
Warum hat Ihr ImageViewTouch '' 'android: layout_height =" 0dp "' ''? – NOSTRA