水平スクロールスケールが含まれているというレイアウトがあります。
私の質問は、このタイプのズーム効果をレイアウトの中央にどのように作成するかです。出来ますか?キャンバスにスケールを描画し、キャンバスをズームしましたか??
私を助けてください。前もって感謝します。
水平スクロールスケールが含まれているというレイアウトがあります。
私の質問は、このタイプのズーム効果をレイアウトの中央にどのように作成するかです。出来ますか?キャンバスにスケールを描画し、キャンバスをズームしましたか??
私を助けてください。前もって感謝します。
変換が必要だと思います: http://developer.android.com/reference/android/view/animation/Transformation.html
onDraw メソッドのコードは次のようになります。
canvas.save();
transformation.transform(canvas);
drawable.draw(canvas);
canvas.restore();
ステップ1:最初にキャンバスにスケール(描画)を描画します。
ステップ2:ズーム領域を取得し、この領域をキャンバス上のclipRegionとして適用します。
ステップ3:キャンバスからビットマップを取得し、それにスケールを適用してキャンバスに描画します。スケーリングピボットポイントは、ズームする領域の中心点になります。
Bitmap.Config conf = Bitmap.Config.ARGB_8888;
Bitmap bitmap_object = Bitmap.createBitmap(width, height, conf);
Canvas canvas_object = new Canvas(bitmap_object);
/* now draw your drawing on canvas_object */
Bitmap temp = bitmap_object;
Matrix matrix_object = new Matrix();
/* now set transform and scale on matrix_object to zoom */
Paint paint_object = new Paint();
paint_object.setFilterBitmap(true);
Region reg= /* region of your zooming area */
canvas_object.clipRegion(reg);
canvas_object.drawBitmap(temp,matrix_object,paint_object);