【问题标题】:Custom view draw circle produces ellipse自定义视图绘制圆产生椭圆
【发布时间】:2014-09-10 13:37:22
【问题描述】:

我有一个自定义视图,我正在尝试在视图中间画一个圆圈。但是代码会生成一个椭圆:

Paint p = new Paint();
p.setStyle(Style.STROKE);
p.setColor(Color.GREEN);
p.setStrokeWidth(0.02f);

mCanvas.drawCircle(0.5f, 0.5f, 0.2f, p);

视图的宽度和高度与较暗的圆矩形相同。

【问题讨论】:

  • 你确定你没有使用任何类型的drawable吗?喜欢背景,还是类似的?
  • 没有可绘制对象,我使用的是画布。

标签: android android-canvas


【解决方案1】:

经过几次尝试,我发现这是因为画布的宽度和高度不相等。 我不得不将画布缩放到相同的宽度/高度。 如果有人遇到同样的问题,这是我的代码:

mCanvas.save();
mCanvas.scale(1f, RATIO); //ratio between width and height
mCanvas.drawCircle(0.5f, 0.5f/RATIO, 0.2f, p);
mCanvas.restore();

【讨论】:

    猜你喜欢
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    • 2016-02-05
    • 2021-11-13
    • 1970-01-01
    • 2012-09-04
    • 1970-01-01
    相关资源
    最近更新 更多