Android Canvas drawRect 函数不显示绘画阴影
Android Canvas drawRect function doesn't show paint shadow
我正在尝试使用 Android 的 onDraw 函数绘制矩形和线条,并在其周围添加阴影,以便在白色背景上可以看到它们。我已将我的 Paint 设置为具有阴影层,但绘制线条时没有阴影。
这是我的 Paint 代码:
paint = new Paint();
paint.setColor(Color.WHITE);
paint.setStyle(Paint.Style.FILL);
paint.setTextSize(m_textSize);
paint.setAntiAlias(true);
Typeface font = Typeface.create("Times New Roman", Typeface.NORMAL);
paint.setTypeface(font);
paint.setShadowLayer(5, 0, 0, Color.BLACK);
this.setLayerType(View.LAYER_TYPE_HARDWARE, paint);
这是我的绘图代码:
private void drawMark(Canvas c, float y, float size)
{
float x = (float) (getWidth()-5.0-size);
c.drawRect(x, y, x + size, y + markHeight, paint);
}
我是否缺少使 drawRect 的阴影工作的东西?
请注意,我也在使用 canvas 绘制文本,文本确实有阴影效果,但形状和线条没有。
谢谢
只有在软件模式下绘图时才会出现阴影:
this.setLayerType(View.LAYER_TYPE_SOFTWARE, paint);
我正在尝试使用 Android 的 onDraw 函数绘制矩形和线条,并在其周围添加阴影,以便在白色背景上可以看到它们。我已将我的 Paint 设置为具有阴影层,但绘制线条时没有阴影。
这是我的 Paint 代码:
paint = new Paint();
paint.setColor(Color.WHITE);
paint.setStyle(Paint.Style.FILL);
paint.setTextSize(m_textSize);
paint.setAntiAlias(true);
Typeface font = Typeface.create("Times New Roman", Typeface.NORMAL);
paint.setTypeface(font);
paint.setShadowLayer(5, 0, 0, Color.BLACK);
this.setLayerType(View.LAYER_TYPE_HARDWARE, paint);
这是我的绘图代码:
private void drawMark(Canvas c, float y, float size)
{
float x = (float) (getWidth()-5.0-size);
c.drawRect(x, y, x + size, y + markHeight, paint);
}
我是否缺少使 drawRect 的阴影工作的东西?
请注意,我也在使用 canvas 绘制文本,文本确实有阴影效果,但形状和线条没有。
谢谢
只有在软件模式下绘图时才会出现阴影:
this.setLayerType(View.LAYER_TYPE_SOFTWARE, paint);