2

ここに画像の説明を入力

水平スクロールスケールが含まれているというレイアウトがあります。

私の質問は、このタイプのズーム効果をレイアウトの中央にどのように作成するかです。出来ますか?キャンバスにスケールを描画し、キャンバスをズームしましたか??

私を助けてください。前もって感謝します。

4

2 に答える 2

1

変換が必要だと思います: http://developer.android.com/reference/android/view/animation/Transformation.html

onDraw メソッドのコードは次のようになります。

canvas.save();
transformation.transform(canvas);
drawable.draw(canvas);
canvas.restore();
于 2013-01-19T16:27:35.373 に答える
0

ステップ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);
于 2013-01-19T16:02:29.910 に答える