当前位置: 首页 > 知识库问答 >
问题:

在另一个形状旁边画一个形状

计均
2023-03-14

我已经画了一个正方形,但是我怎样才能在它旁边放置另一个正方形而没有任何空隙呢?我认为< code>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);
}

共有2个答案

方嘉言
2023-03-14

您可以创建一个 toRightOf 方法。当然,这将是更多的工作,但是如果你需要再次做这种事情,你已经编写了方法来做到这一点。我现在不在电脑前,否则我会试一试。如果您不希望多次执行此操作,我将使用第一个答案中发布的选项之一。

祖波光
2023-03-14

有三种方法可以让你在我的脑海中完成这件事。

第一个是将第二个< code>RecfF定义为再向右50个像素。

new RectF(50, 0, 100, 50);

下一步是在画第二个之前翻译画布。

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);
 类似资料:
  • 本文向大家介绍用css画一个五边形和一个六边形相关面试题,主要包含被问及用css画一个五边形和一个六边形时的应答技巧和注意事项,需要的朋友参考一下 还有 svg 转 base64 作背景图。 当然,点击范围可能会不符合需求。 另外提一句,clip-path 边框要另做,元素选择的背景图要另做,两种都不好做圆角。

  • 我有一个网格窗格的圆圈,我希望能够将一个圆圈拖到另一个圆圈之上,并将第一个圆圈的颜色应用于第二个圆圈。 我遇到的问题是,我无法让目标圆检测到dragEntered或dragOver。我已经能够使用标签成功地实现这一点,但由于某些原因,圆圈不会产生相同的效果。 我见过一些准解决方案,涉及设置circle.setMouseTransparent(true),以便被拖动节点下的节点可以看到拖动,但这里也

  • 我想创建一个多边形从形状点。

  • 本文向大家介绍用css画一个平行四边形相关面试题,主要包含被问及用css画一个平行四边形时的应答技巧和注意事项,需要的朋友参考一下 :沿着X轴Y轴2D倾斜旋转 :沿着X轴2D倾斜旋转 :沿着Y轴2D倾斜旋转

  • 我有两个形状多边形实例(由lon,lat点组成),在不同的部分相交。我试图遍历,确定两个多边形之间是否有交集,然后创建一个新的多边形,排除该交集。从所附的图像来看,我基本上不希望红色的圆圈与黄色的轮廓重叠,我希望边缘正好是黄色轮廓开始的地方。 我已经尝试按照这里的说明,但它根本没有改变我的输出,而且我不想将它们合并到一个级联的联合中。我没有得到任何错误消息,但是当我将这些多边形添加到一个KML文件