2016-05-25 5 views
2

私はいくつかのGoogle検索を行い、これを理解できませんでした。 Googleの写真の動作を複製しようとしていますが、画像を挟んだときに画像がその場所に戻ってきます。canvas.scaleの後にシェア要素の移行を確認します。アンドロイド

すべてが機能しています。 唯一の問題は、元のフルサイズの画像から移行が起こっている場合に唯一の問題です。

より明確にするために、私の活動のルートビューのキャンバスをスケールして、アクティビティ内のすべてが縮小されるようにします。 この場合、rootview内のコンテンツは単なるイメージです。ピンチの終わりの は、スケールファクタは0.5fになります。 (通常サイズの50%) 戻り変換が行われ、問題が発生します。アニメーション化する前にトランジションが元の(100%)サイズに拡大されるため、キャンバスのスケーリングは決して起こらないように見えます。

私はこれが私の母国語ではないことを願っています。

コード:

canvas.save(Canvas.MATRIX_SAVE_FLAG); 
    canvas.scale(mScaleFactor, mScaleFactor,mScreenX,mScreenY); 

    canvas.rotate(mRotationDegree,mScreenX,mScreenY); 

    super.dispatchDraw(canvas); 
    canvas.restore(); 

答えて

0

私はキャンバスのすべての方法を更新しないことがわかった、私はのViewGroup

にsetScaleYとsetScaleXに変換しました
関連する問題