https://github.com/Baseflow/PhotoView 开源协议: Apache-2.0 License 对源码做了以下修改:
- 修改 ScaleType.CENTER 的行为, 使其永远以宽度的缩放进行展示, 并判断图片是否为超长图, 如果是则展示在top位置, 否则展示在center位置
- 修改双指捏合的行为, 使其缩小后松开回到top位置, 放大后松开走原有逻辑
1. 基本使用
implementation 'me.luzhuo.android:library_photoview:1.0.0-SNAPSHOT'
implementation "androidx.appcompat:appcompat:1.3.0"
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black">
<com.github.chrisbanes.photoview.PhotoView
android:id="@+id/photoview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
PhotoView photoView = findViewById(R.id.photoview);
photoView.setScaleType(ImageView.ScaleType.CENTER);
photoView.setImageResource(R.drawable.wx2);