gpt4 book ai didi

android - 图像未显示在 ImageViewZoom 中

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:28:17 25 4
gpt4 key购买 nike

我想使用 ImageViewZoomUniversal Image Loader在 ImagePagerActivity 中。

所以,我做了什么:

  1. 我将 imageviewtouch.jar 添加到项目类路径中。
  2. 在 ImagePagerActivity 中,我更改了 instantiateItem() 函数中的一行。我评论了 ImageView 所在的行并将其替换为 ImageViewTouch(第 4 行和第 5 行)

    @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. 在/res/layout/item_pager_image.xml 中,我将 ImageView 替换为 it.sephiroth.android.library.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 应用程序,但是当我在菜单屏幕中选择 Image Pager 时,没有显示任何图像,只有黑屏。在 logcat 中,我看到图像已下载并显示...如果我将 ImageViewTouch 更改为原始 ImageView,一切正常,但当然没有缩放功能。如果有人知道我做错了什么,我将不胜感激。 (对不起我的英语)

最佳答案

将 ImageViewTouch 参数从 android:layout_height="0dp" 更改为其他值。

关于android - 图像未显示在 ImageViewZoom 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13359205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com