0

私はgithubのTouchImageViewを使用し、matrix.posttranslateを使用してズーム画像のドラッグのユーザーコントロールを処理しています。問題は、ユーザーがいつ画像の境界線にドラッグするかを知る必要があるため、画像が水平方向に移動できなくなることです。誰かがそれについて理想を持っていますか?

4

2 に答える 2

1

回転していない場合Matrix、2 番目と 5 番目の要素はtranslateXandtranslateYです。

    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 に答える