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。

傳回

若值改變,則為真;若新值與先前相同,則為假。

屬性

備註

設定是否應該緊接著最近祖先 RenderNode 後繪製,該 RenderNode 包含投影接收器。

預設值為 false,且此節點的渲染順序依照典型的繪製順序進行。

若為真,則在渲染時,該渲染節點不會依照繪製該 RenderNode 指令的順序 Canvas#drawRenderNode(RenderNode) 繪製,而是會重新定位到 RenderNode 樹中,並以 Look #setProjectionReceiver(boolean) 為 的子 renderNode 祖先繪製。

此技術的典型用途是允許子 RenderNode 在父背景上繪圖,例如平台使用 android.graphics.drawable.RippleDrawable。 考慮以下結構,RenderNode 在另一個 RenderNode 上呼叫 drawRenderNode:

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

如果 P'BG 是投影接收器,且 C'BG 設定為反向投影,那麼 C'BG 的行為就像是由 P'BG 直接繪製,而非由 C 直接繪製。這包括繼承P'BG的片段,而非C的片段。

Java 文件 android.graphics.RenderNode.setProjectBackwards(boolean)

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於