在Android中像Instagram一样缩放图片视图

14

如何像 Instagram 一样缩放 ImageView,我是指更改 Imageview 的大小,而不是缩放 Imageview 中的图像。

对于在 ImageView 中缩放图像,有很多示例,但我想要像 Instagram 图像缩放一样的效果。

有任何代码或提示吗?谢谢。


我给你发送了一个回答,你可以看一下。 - Anis LOUNIS aka AnixPasBesoin
@anix-pasbesoin。好的,我会测试并在这里发布结果。 - unos baghaii
3个回答

17

我推荐 Zoomy,非常简单实用。

只需将以下内容添加到您当前的 ImageView 中:

Zoomy.Builder builder = new Zoomy.Builder(this).target(mZoomableView);
builder.register();

3
Zoomy非常好用!它支持缩放、重置,并且有回调函数可以在缩放开始/结束时调用。这是一些其他库所缺少的功能。 - AdamMc331
1
同时,它非常出色的是允许添加插值器 https://thoughtbot.com/blog/android-interpolators-a-visual-guide - Tigran Babajanyan
1
如何禁用自动缩小 - Tigran Babajanyan
导入:implementation 'com.ablanco.zoomy:zoomy:1.1.0'(在 GitHub 上,最新版本的链接已失效,最新版本为 1.1.0 - mathematics-and-caffeine

9
我建议使用以下两个库:
  1. PhotoView

  2. ImageViewZoom

对于 PhotoView,您只需要创建一个 attacher 并将其“附加”到您的 ImageView 上。

一些代码

// After getting your imageImage view, attach it like the following
PhotoViewAttacher yourAttacher = new PhotoViewAttacher(yourImageView);

使用这段代码,您将能够对 yourImageView 进行缩放/放大等操作。请查看上面的链接以获取更多详细信息。

编辑

Instagram自回答发布以来已经发生了很多变化,我推荐的库可能无法提供您想要的体验。


5
我可以使用您发布的库,但仍无法像 Instagram 那样在 ImageView 中缩放。 - MohammedAli
@MDKhali 自我回答后,情况可能已经发生了变化。 - Anis LOUNIS aka AnixPasBesoin

1
我已经将这个添加到我的gradle.build文件中。
 compile 'it.sephiroth.android.library.imagezoom:imagezoom:2.2.5'

然后使用这个视图

  <it.sephiroth.android.library.imagezoom.ImageViewTouch
    android:id="@+id/mp3Image"
    android:adjustViewBounds="true"
    android:layout_width="346dp"
    android:layout_height="356dp"
    android:scaleType="fitCenter" />

以下代码中,缩放应用程序。
   myImage = (ImageViewTouch) findViewById(R.id.mp3Image);
    myImage.setDisplayType(ImageViewTouchBase.DisplayType.FIT_IF_BIGGER);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接