AndroidのShapeDrawableの1つの注意点
ShapeDrawable皆さんご存知のように、こちらではこのShapeDrawableの使い方は言わないで、ShapeDrawableのsetBoundsとPathが設定したパラメータの関係を少しだけ説明します~
皆さんはまず次のコードを見てみましょう.
ここでは四角形を描いていますが、pathでグラフィックを描くポイントを設定する場合、その数値は実際に表示される座標位置ではなく、下のsetBoundsの表示領域に対する位置(つまりpathの真座標はsetBoundsを基準としている)~
皆さんはまず次のコードを見てみましょう.
ShapeDrawable mShapeDrawable = null;
Path path1 = new Path();
/* */
path1.moveTo(0 + 5, 80 + 80 - 50);
path1.lineTo(150 + 45, 80 + 80 - 50);
path1.lineTo(150 + 30, 80 + 120 - 50);
path1.lineTo(150 + 20, 80 + 120 - 50);
/* */
path1.close();
// PathShape
mShapeDrawable = new ShapeDrawable(new PathShape(path1, 150, 150));
// paint
mShapeDrawable.getPaint().setColor(Color.BLUE);
/* */
mShapeDrawable.setBounds(100, 170, 200, 280);
/* */
mShapeDrawable.draw(canvas);
ここでは四角形を描いていますが、pathでグラフィックを描くポイントを設定する場合、その数値は実際に表示される座標位置ではなく、下のsetBoundsの表示領域に対する位置(つまりpathの真座標はsetBoundsを基準としている)~