RenderNode.SetProjectBackwards(Boolean) 方法

定义

设置是否应在包含投影接收器的最接近的上级 RenderNode 之后立即绘制 RenderNode。

[Android.Runtime.Register("setProjectBackwards", "(Z)Z", "", ApiSince=29)]
public bool SetProjectBackwards (bool shouldProject);
[<Android.Runtime.Register("setProjectBackwards", "(Z)Z", "", ApiSince=29)>]
member this.SetProjectBackwards : bool -> bool

参数

shouldProject
Boolean

如果应将显示列表投影到包含卷上,则为 true。 默认为 false。

返回

如果值发生更改,则为 true;如果新值与前一个值相同,则为 false。

属性

注解

设置是否应在包含投影接收器的最接近的上级 RenderNode 之后立即绘制 RenderNode。

默认值为 false,此节点的呈现按典型的绘制顺序进行。

如果为 true,则在呈现时,此 rendernode 不会按 Canvas#drawRenderNode(RenderNode) 绘制此 RenderNode 的命令进行绘制,而是在 RenderNode 树中重新定位,以使用具有 #setProjectionReceiver(boolean) true 的子呈现节点在壁橱上绘制。

其典型用法是允许子 RenderNode 在父级背景上绘制,例如平台的用法 android.graphics.drawable.RippleDrawable。 请考虑以下结构,该结构基于其他 RenderNode 上名为 drawRenderNode 的 RenderNode:

+-------------+
                   |RenderNode: P|
                   +-+----------++
                     |          |
                     v          v
             +-------+-----+  +-+--------------+
             |RenderNode: C|  |RenderNode: P'BG|
             +-------+-----+  +----------------+
                     |
                     |
            +--------+-------+
            |RenderNode: C'BG|
            +----------------+

如果 P'BG 是投影接收器,并且 C'BG 设置为向后投影,则 C'BG 的行为就好像是 P'BG 直接绘制的,而不是由 C 绘制的。这包括继承 P'BG 的剪辑而不是 C 的剪辑。

适用于 . 的 android.graphics.RenderNode.setProjectBackwards(boolean)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于