【问题标题】:Draw text below Circle在圆形下方绘制文字
【发布时间】:2016-12-08 20:51:54
【问题描述】:

我想在画布的圆圈下方绘制文字。以下是我的代码,但文字是在圆圈上方绘制的。

 canvas.drawCircle(getWidth() / 2, getHeight() / 2, radius, paint);
 canvas.drawText(text, 0, (radius*2), textPaint);

【问题讨论】:

  • 尝试否定高度值-(radius*2)
  • 参见Canvas#drawText 文档
  • 您阅读过Canvas#drawText 文档吗?
  • 正确看你需要根据画布的高度设置y值,就像你做圆圈一样,然后根据半径将它调整为下方。 (getHeight() / 2) + radius。可能让您感到困惑的一件事是原点位于左上角。 Y 的增加是向下的
  • 以为会的,很高兴知道。也将其作为答案发布:)

标签: android canvas text view geometry


【解决方案1】:

正确看待它,您需要根据画布的高度设置 y 值,与做圆的方式相同,然后根据半径将其调整为“下方”。

canvas.drawCircle(getWidth() / 2, getHeight() / 2, radius, paint);
canvas.drawText(text, 0, (getHeight() / 2) + radius, textPaint);

可能让您感到困惑的一件事是,原点位于左上角。 Y 的增加是向下的

您可能需要根据文本高度添加一些额外的像素。所以(getHeight() / 2) + radius + 20

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-01
  • 2017-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多