赤色マージンがAbsoluteLayoutを表し、私は、画面上に配置された「ボード」オブジェクトの任意の数。私が望むのは、Boardオブジェクトの座標と画面の中心を使って画面に線を描くことだけです。各ボードオブジェクトはこの線を描く責任があります。
また、ボードオブジェクトの背後に線を置いておきたいと思います。私はZ-インデックスを変更する必要がありますか、AbsoluteLayoutに線を描画する必要がありますか?
私はこのようなものがあります:
public class Board {
ImageView line; //Imageview to draw line on
Point displayCenter; //Coordinates to the center of the screen
int x;
int y;
Activity activity;
Board(Point p, Point c, Activity activity) // Point c is the coordinates of the Board object
{
x = c.x
y = c.y
displayCenter.x = p.x;
displayCenter.y = p.y;
this.activity = activity;
updateLine();
}
public void updateLine(){
int w=activity.getWindowManager().getDefaultDisplay().getWidth();
int h=activity.getWindowManager().getDefaultDisplay().getHeight();
Bitmap bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
line.setImageBitmap(bitmap);
Paint paint = new Paint();
paint.setColor(0xFF979797);
paint.setStrokeWidth(10);
int startx = this.x;
int starty = this.y;
int endx = displayCenter.x;
int endy = displayCenter.y;
canvas.drawLine(startx, starty, endx, endy, paint);
}
}