私はシェイプを描画する方法を理解しています。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が返されます(レイアウトがまだ完全に完了していないと思います)。
別の方法はありますか?ここでかなり基本的なものが欠けているように感じます。
どんな助けでも大歓迎です、
ありがとう