【问题标题】:Android onDraw methodAndroid onDraw 方法
【发布时间】:2011-05-27 18:41:16
【问题描述】:

在 onDraw(Canvas canvas1) 方法中,我看到了如何使用传递的“canvas1”参数来绘制形状。但是,如果我要创建一个新的 Canvas 对象示例”:

Canvas canvas2 = new Canvas();
Paint paint = new Paint();
paint.setColor(Color.BLUE);

canvas2.drawRect(55,87,130,600, paint);

canvas2 不会显示在屏幕上,我怎样才能让它与 canvas1 对象一起显示?

【问题讨论】:

    标签: android animation canvas


    【解决方案1】:

    您是否要绘制图层?也许您需要使用带有两个子视图的视图组,例如 FrameLayout:一个使用 canvas1,另一个使用 canvas2。

    【讨论】:

      【解决方案2】:

      当您使用Canvas() 构造函数创建画布时,您会得到一个空的光栅画布。 根据documentation

      构造一个空的光栅画布。使用 setBitmap() 指定要绘制的位图。

      这意味着除非您明确地将位图附加到 Canvas 对象,否则您的绘图将被丢弃。

      【讨论】:

        【解决方案3】:

        我正在使用在 FrameLayout 中呈现的自定义 ImageView,正如我在 this thread 中所解释的那样。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-10-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-10-26
          相关资源
          最近更新 更多