Android Canvas drawRect函数不显示绘制阴影

时间:2015-10-01 15:26:22

标签: java android canvas 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?

请注意我也使用画布绘制文字,文字确实得到阴影效果,但形状和线条没有。

由于

1 个答案:

答案 0 :(得分:1)

仅在您以软件模式绘图时才会显示阴影:

this.setLayerType(View.LAYER_TYPE_SOFTWARE, paint);