アプリでユーザーが円を描くことを可能にしたいと考えています。描画は非常に単純です。ユーザーはキャンバスのどこかを押してから、事前に定義された円を押すだけです
ここで難しいのは、ドローアブル (画像) を塗りつぶして描画することです。長方形くらいだと割と簡単です。次に、次のように書くだけです。
Drawable drawable = getResources().getDrawable(R.drawable.my_background_picture);
drawable.setBounds(myRectangle);
drawable.draw(myCanvas);
すべてがonDraw()
私のカスタムビューの方法で行われます。
残念ながら円で作る簡単な方法はありません。私が見つけたのは、 Vogella のチュートリアルを少し変更したものです。
InputStream resource = getResources().openRawResource(R.drawable.sand);
Bitmap bitmap = BitmapFactory.decodeStream(resource);
BitmapShader shader;
shader = new BitmapShader(bitmap, Shader.TileMode.CLAMP,Shader.TileMode.CLAMP);
paint = new Paint();
paint.setAntiAlias(true);
paint.setShader(shader);
myCanvas.drawRoundRect(myRectangle, 120, 120, paint);
一見問題ないように見えますが、そうではありません。このコマンドは下の写真の枠のようなものを作るので、写真の上で白丸を動かすだけです。実際に長方形のビットマップを移動する長方形とは異なります。
だから、私の質問は -移動/サイズ変更もできる円を描画可能にする方法はありますか?