私はシェイプを描画する方法を理解しています。View
クラスを拡張し、をオーバーライドしてonDraw
、新しいShapeDrawbale
(Rectangle) を作成し、キャンバスに描画します。
Rect rect = new Rect(x, y, x + width, y + height);
shapeDrawable.setBounds(rect);
shapeDrawable.getPaint().set(paint);
shapeDrawable.draw(canvas);
次に、これをアクティビティ レイアウト xml で定義されたビューに追加します。これを行うには、ビューのハンドルを取得して呼び出します。
innerLinear.addView(rectView); // where rectView is my custom class that extends View
私の問題は、長方形を作成するときに、提供X
してY
調整する必要があることです。
では、四角形を 内に正しく配置するにはどうすればよいinnerLayout
ですか?
の境界を使用しinnerLayout
て長方形を作成する必要がありますか? もしそうならinnerLayout.getLeft()
、またはinnerLayout.getTop()
などを呼び出すと..常に0が返されます(レイアウトがまだ完全に完了していないと思います)。
別の方法はありますか?ここでかなり基本的なものが欠けているように感じます。
どんな助けでも大歓迎です、
ありがとう