如题,比较迷惑什么时候用 ShapeDrawable, 什么时候直接用 canvas 的 drawXXX 方法。

解决方案 »

  1.   

    其实没多大区别的,都可以通用,我暂时这么理解的,举个例子,在画矩形的时候,用这两个方法画分别是:
    1、 canvas.drawRect(50, 5, 90, 25, mPaint);
    2、 ShapeDrawable mShaoeDrawable = new ShapeDrawable(new RectShape);
    mShapeDrawable.getPaint().setColor(Color.RED);
    Rect bounds = new Rect(50, 5, 90, 25);
    mShapeDrawable.setBounds(bounds);
    mShapeDrawable.draw(canvas);
    同样你也可以比较在画直线和多边形等代码的不同。
      

  2.   

    不懂就要问嘛... 我刚开始试一点 Android 开发.
      

  3.   

    andoird 有个Shaper用来专门渲染图像和几何图形的
    而shapeDrawable相当于drawable类+shaper类
    个人理解。。