2011-02-02 20 views
2

私はユーザーがScaleGestureDetectorを使用してカスタムビューをより詳細に見るために拡大縮小できるアプリケーションを持っています。Android:スケーリング時の表示可能領域の座標の決定

拡大表示すると、大きな画面のサムネイルが表示されます。ビューの表示領域の左下隅に固定されたサムネイルを表示したいユーザーが拡大すると、サムネイルは表示されたままになります。

私の問題は、ViewのonDraw()メソッドでサムネイルをいつ表示するべきかを判断することができますが、描画する図形(透明なRect)をアンカーする方法がわかりません目に見えるコーナー。絶対座標を使用してキャンバスに描画するのに問題はありませんが、スケールするとすぐに絶対角にとどまります。

私はスケーリングセンター(x、y)と同様に現在のスケーリング係数を追跡していますので、既知のウィンドウサイズに関するこれらの値と、これらの値がコーナーを決定する可能性がありますが、これを処理するためのルーチンまたはより良い方法です。キャンバスをスケーリング現在表示可能領域の大きさを取得する方法を考え出したすべての情報について

おかげで、

ポール

答えて

3

。 canvas.getClipBounds();を呼び出します。私のonDrawで私に 'clipped'キャンバスを表すRectを与えました。これから、.top、.left、bottom.rightにアクセスして、サムネイルの拡大図をどこに配置するかを決定できました。

関連する問題