【问题标题】:Android drawArc not drawing properlyAndroid drawArc 无法正确绘制
【发布时间】:2014-06-04 08:30:11
【问题描述】:

我正在研究某种圆形视图,在每个 onDraw() 调用上都会绘制 Arc。整个 onDraw 方法是这样的

@Override
public void onDraw(Canvas canvas) {
    float beg = 0;
    float end;
    if (items != null && items.size() > 0 && getSum() != 0)
        for (Map.Entry<Object, ItemDescriptor> item : items.entrySet()) {
            end = (item.getValue().getScore() / getSum()) * 360;
            Log.d("jano", "drawing from " + beg + " to " + (beg + end));
            canvas.drawArc(mBounds, beg, end, false, item.getValue().getPaint());
            beg += end;
        }
    else {
        canvas.drawArc(mBounds, beg, 360, false, defalutPaint);
    }
}

绘画绘画:

Paint paint = new Paint();
paint.setStyle(Paint.Style.STROKE);
paint.setColor(color);
paint.setStrokeWidth(outerWidth);

ItemDescriptor 保存分数,基于该分数我可以计算如何显示圆(由一些弧组成)。日志输出总是可以的,但弧线大部分时间都是正确的,但并不总是正确的。例如,请参见下图中的绿色部分。

你们中的任何人能给我一些启发如何始终正确地显示它吗?整个项目在 GitHub 作为 Android Studio 项目

【问题讨论】:

    标签: android android-canvas draw


    【解决方案1】:

    嗯,很抱歉,Genymotion 似乎没有正确显示。真实设备和 Android 模拟器显示视图没有错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-05
      • 2012-10-05
      • 1970-01-01
      • 2020-07-21
      • 1970-01-01
      • 2021-08-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多