我在自定义视图中在画布上绘制弧,如下所示.绘制和矩形在onDraw()之外定义,并在其中添加以简化目的.
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
RectF rectangle = new RectF(60f,60f,480f,480f);
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(0x40000000);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(120);
canvas.drawArc(rectangle,225f,315f,false,paint);
}
当我使用4.3在Galaxy Nexus上运行此代码时,有以下人工制品.
但是在使用4.4.4的Nexus 5上运行时没有这样的假象.
我通过像(225f,315f)和其他一些角度观察这些假象.大多数情况下,弧形具有正确的形状.
有没有办法避免这些文物?
更新:我尝试使用setLayerType()来使用软件,硬件和无图层.人工制品改变了形式,但仍然存在.