Ich habe eine Image in einer scrollbaren Ansicht.Android ImaveView nicht gezoomte Bild wickelt
<jp.vuph.TwoDScrollView
android:id="@+id/two_d_scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white">
<RelativeLayout
android:id="@+id/layout_drawing"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/image_view_main"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="matrix"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:adjustViewBounds="true"
android:contentDescription="@string/contentDescription"/>
</RelativeLayout>
</jp.vuph.TwoDScrollView>
Als ich das Bild zu vergrößern, ist, dass Image nicht alle das gezoomte Bild verzerren, so kann ich nicht ein Teil von it.This ist mein Code
private class ScaleGestureListener implements ScaleGestureDetector.OnScaleGestureListener {
@Override
public boolean onScale(ScaleGestureDetector detector) {
d = mImageViewMain.getDrawable();
mScale *= detector.getScaleFactor();
float xDiff = initialFocalPoints[0] - currentFocalPoints[0];
float yDiff = initialFocalPoints[1] - currentFocalPoints[1];
matrix.setScale(mScale, mScale, currentFocalPoints[0], currentFocalPoints[1]);
matrix.postTranslate(xDiff, yDiff);
mImageViewMain.setImageMatrix(matrix);
return true;
}
@Override
public boolean onScaleBegin(ScaleGestureDetector detector) {
float startX = detector.getFocusX();
float startY = detector.getFocusY();
initialFocalPoints = new float[]{startX, startY};
Matrix inverseTransformMatrix = new Matrix();
if(matrix.invert(inverseTransformMatrix))
inverseTransformMatrix.mapPoints(currentFocalPoints, initialFocalPoints);
return true;
}
@Override
public void onScaleEnd(ScaleGestureDetector detector) {
return;
}
Ist es möglich, sehen lässt ImageView das gezoomte Bild umbrechen? Ich habe viele Möglichkeiten ausprobiert, kann das aber immer noch nicht.