在另一个旁边画一个形状
Draw a shape beside another
我已经画了一个正方形,但我怎样才能在它旁边放置另一个没有任何间隙的东西?我认为 mRedRect1F
中的第一个参数 (0) 需要更改,但我不知道该更改什么。
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
mRedRect0F = new RectF(0, 0, 50, 50);
mRedRect1F = new RectF(0, 0, 50, 50);
canvas.drawRect(mRedRect0F, mRedRectPaint);
canvas.drawRect(mRedRect1F, mRedRectPaint);
}
更新
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
mRedRect0F = new RectF(0, 0, 20, measuredHeight);
mRedRect1F = new RectF(getWidth() - 20, 0, getWidth(), getHeight());
canvas.drawRect(mRedRect0F, mRedRectPaint);
canvas.drawRect(mRedRect1F, mRedRectPaint);
}
有 3 种方法可以让您从我的脑海中脱颖而出。
第一个是将第二个RecfF
定义为再向右50个像素。
new RectF(50, 0, 100, 50);
接下来是翻译canvas再画第二个
mRedRect = new RectF(0, 0, 50, 50);
canvas.drawRect(mRedRect, mRedRectPaint);
canvas.translate(50, 0);
canvas.drawRect(mRedRect, mRedRectPaint);
第三个是在绘制前先偏移RectF
mRedRect = new RectF(0, 0, 50, 50);
canvas.drawRect(mRedRect, mRedRectPaint);
mRedRect.offset(50, 0);
canvas.drawRect(mRedRect, mRedRectPaint);
您可以创建一个 toRightOf 方法。当然这会增加工作量,但是如果您需要再次执行此类操作,那么您已经编写了执行此操作的方法。我现在不在电脑旁,否则我会试一试。如果您不希望多次执行此操作,我会使用第一个答案中发布的选项之一。
我已经画了一个正方形,但我怎样才能在它旁边放置另一个没有任何间隙的东西?我认为 mRedRect1F
中的第一个参数 (0) 需要更改,但我不知道该更改什么。
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
mRedRect0F = new RectF(0, 0, 50, 50);
mRedRect1F = new RectF(0, 0, 50, 50);
canvas.drawRect(mRedRect0F, mRedRectPaint);
canvas.drawRect(mRedRect1F, mRedRectPaint);
}
更新
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
mRedRect0F = new RectF(0, 0, 20, measuredHeight);
mRedRect1F = new RectF(getWidth() - 20, 0, getWidth(), getHeight());
canvas.drawRect(mRedRect0F, mRedRectPaint);
canvas.drawRect(mRedRect1F, mRedRectPaint);
}
有 3 种方法可以让您从我的脑海中脱颖而出。
第一个是将第二个RecfF
定义为再向右50个像素。
new RectF(50, 0, 100, 50);
接下来是翻译canvas再画第二个
mRedRect = new RectF(0, 0, 50, 50);
canvas.drawRect(mRedRect, mRedRectPaint);
canvas.translate(50, 0);
canvas.drawRect(mRedRect, mRedRectPaint);
第三个是在绘制前先偏移RectF
mRedRect = new RectF(0, 0, 50, 50);
canvas.drawRect(mRedRect, mRedRectPaint);
mRedRect.offset(50, 0);
canvas.drawRect(mRedRect, mRedRectPaint);
您可以创建一个 toRightOf 方法。当然这会增加工作量,但是如果您需要再次执行此类操作,那么您已经编写了执行此操作的方法。我现在不在电脑旁,否则我会试一试。如果您不希望多次执行此操作,我会使用第一个答案中发布的选项之一。