https://github.com/Baseflow/PhotoView 开源协议: Apache-2.0 License 对源码做了以下修改:

  1. 修改 ScaleType.CENTER 的行为, 使其永远以宽度的缩放进行展示, 并判断图片是否为超长图, 如果是则展示在top位置, 否则展示在center位置
  2. 修改双指捏合的行为, 使其缩小后松开回到top位置, 放大后松开走原有逻辑

1. 基本使用

  1. implementation 'me.luzhuo.android:library_photoview:1.0.0-SNAPSHOT'
  2. implementation "androidx.appcompat:appcompat:1.3.0"
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:background="@android:color/black">
  6. <com.github.chrisbanes.photoview.PhotoView
  7. android:id="@+id/photoview"
  8. android:layout_width="match_parent"
  9. android:layout_height="match_parent" />
  10. </androidx.constraintlayout.widget.ConstraintLayout>
  1. PhotoView photoView = findViewById(R.id.photoview);
  2. photoView.setScaleType(ImageView.ScaleType.CENTER);
  3. photoView.setImageResource(R.drawable.wx2);

5f5bccccd252e17bc41b263a2eaf37bf.mp4 (3.18MB)