-2

我想在我的圆形可绘制对象周围画一个边框。

我有这个代码:

  public void draw(Canvas canvas) {
    myDrawable.draw(canvas);
    canvas.drawArc(toHighlightBounds, 0F, 360F, /* useCenter= */ false, borderPaint);
}

如果我更改行顺序,输出怎么会相似?

  public void draw(Canvas canvas) {
    canvas.drawArc(toHighlightBounds, 0F, 360F, /* useCenter= */ false, borderPaint);
    myDrawable.draw(canvas);
}

顺序不应该决定z轴吗?什么画在另一个之上?

4

1 回答 1

0

我不确定,但我认为这与变量的工作方式有关。

例如,假设我创建了一个包含可绘制对象的数据类。

然后我将drawable设置为图像视图

myImageView.setImageDrawable(myClassObject.drawable)

有趣的部分来了,如果我现在将对象的可绘制对象更改为其他内容,它也会在图像视图中更改。

我不确定这是否是它,如果它是一个简单的解释,但这是我的猜测

于 2020-04-30T17:20:49.687 回答