我有一个问题,当我绘制弧线时,没有绘制阴影层。这是我的Paint对象:

circlePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
circlePaint.setStrokeWidth(strokeWidth);
circlePaint.setColor(Color.WHITE);
circlePaint.setStyle(Paint.Style.STROKE);
circlePaint.setShadowLayer(shadowRadius, 0, shadowOffset, 0xFF000000);


并在onDraw()中:

canvas.drawArc(rect, 0, 180, false, circlePaint);


我感觉shadowLayer只是被忽略了。还有其他方法可以在椭圆形周围绘制阴影吗?问题是,椭圆形吸盘的尺寸被调整了(随着高度的增加),所以我不能只使用一个9.patch。

最佳答案

如果启用了硬件加速,则Paint.setShadowLayer仅适用于文本。要解决此问题,您可以仅为此特定视图禁用硬件加速。

07-27 15:44