我正在使用 chrisbanes/PhotoView 库来处理图像缩放/平移。
我在顶部显示一个叠加层。基本上,我在特定坐标处的图像视图顶部添加一个视图。
例如,当 photoView 最初加载图像时,我在位置 (200,300) 添加了一个自定义视图(我在 onDraw 方法中绘制了一个箭头)。
现在假设用户缩放/平移。如何调整自定义视图位置,使其与以前一样位于同一位置(相对于图像)。
我花了几天时间拉头发,无法弄清楚。我不希望叠加层缩放。我只希望它的位置正确
谢谢
这是我的 XML,所以你有一个想法
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rootView"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.github.chrisbanes.photoview.PhotoView
android:id="@+id/ivMainPhoto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<com.xx.xx.GraphicOverlay
android:id="@+id/graphicOverlay"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="@+id/ivMainPhoto"
app:layout_constraintEnd_toEndOf="@+id/ivMainPhoto"
app:layout_constraintStart_toStartOf="@+id/ivMainPhoto"
app:layout_constraintTop_toTopOf="@+id/ivMainPhoto" />
</android.support.constraint.ConstraintLayout
基本上这里的叠加层只是我添加自定义视图的容器。所以基本上 0,0 从 PhotoView 的左上角开始