我正在使用来自 github 的 TouchImageView 并使用 matrix.posttranslate 来处理拖动缩放图像的用户控制。问题是我需要知道用户何时拖动到图像的边框,因此图像不能再水平移动。有没有人对此有理想?
问问题
131 次
2 回答
1
如果你不旋转你的Matrix
第二个和第五个元素是translateX
and translateY
:
final Matrix matrix = ...;
final float[] values = new float[9];
matrix.getValues(values);
final float translateX = values[2];
final float translateY = values[5];
于 2013-01-10T10:11:53.480 回答
0
谢谢。在深入阅读了 github 上画廊的源代码后,我得到了解决方案。要检查是否滑动到右边框:
float scaledWidth = Math.round(mOrigWidth * mSaveScale);
if (Math.abs(mViewWidth - translateX - scaledWidth) <= 1.0) {
// drag to right border
ALog.d("touchimageview", "right x: "
+ (mViewWidth - translateX - scaledWidth));
touchEventListener.onZoomToOriginal();
break;
}
于 2013-01-10T14:41:10.387 回答