安卓画布绘制顺序

问题描述 投票:-2回答:1

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

我有这样的代码。

  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轴决定吗?什么是画在另一个上面的?

android android-canvas draw android-drawable z-axis
1个回答
0
投票

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

例如,假设我做了一个数据类,里面有一个drawable。

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

myImageView.setImageDrawable(myClassObject.drawable)

有趣的是,如果我现在把我的对象的drawable改成别的东西,它也会在图像视图中改变。

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

© www.soinside.com 2019 - 2024. All rights reserved.