我想在我的圆形可绘制周围画一个边框。
我有这样的代码。
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轴决定吗?什么是画在另一个上面的?
我不确定,但我认为这与变量的工作方式有关。
例如,假设我做了一个数据类,里面有一个drawable。
然后我将drawable设置为图像视图。
myImageView.setImageDrawable(myClassObject.drawable)
有趣的是,如果我现在把我的对象的drawable改成别的东西,它也会在图像视图中改变。
我不确定这是否是一个简单的解释,但这是我的猜测。