Android invalidateDarawable()不起作用

时间:2014-06-17 07:59:46

标签: android drawable invalidation

以下是我的自定义视图的代码示例:

protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    canvas.save();

    d = new ShapeDrawable(new PathShape(path, getWidth(), getHeight()));
    path.moveTo(110, 110);
    path.lineTo(210, 110);
    d.getPaint().setColor(pathColor); 
    d.getPaint().setStyle(Paint.Style.STROKE); 
    d.getPaint().setStrokeWidth(3);
    d.setBounds(0, 0, getWidth(), getHeight());

    d.draw(canvas);     
}

public void changePath (int color){
        pathColor = color;
        invalidate();
    }

当我调用 changePath()方法时效果很好。

但是,如果我将 invalidate()更改为 invalidateDrawable(d),则不会重新绘制 ShapeDrawable d 。错误在哪里?

0 个答案:

没有答案
相关问题