协议
ViewProvider
在 fuchsia.ui.app/view_provider.fidl 中定义
ViewProvider 是两个模块分别获取一半共享事件对令牌的标准机制。共享令牌是一项功能,让模块能够请求 Views 创建 ViewHolder/View 对。生成的 View 和 ViewHolder 会关联在一起,直到其中一个被销毁。
模块可随意使用任何其他机制来就共享事件对令牌达成一致,并使用此机制创建关联的 ViewHolder/View。提供 ViewProvider 是为了方便不需要更复杂的实现的客户端。
CreateView2
创建一个受 ViewProvider 控制的新 View。
参数以表格形式提供,以实现向前兼容性。请参阅关于各个表字段的文档。
请求
名称 | 类型 |
---|---|
args |
CreateView2Args
|
CreateViewWithViewRef
创建一个受 ViewProvider 控制的新 View。
token
是共享事件对中的一半,会将新 View 绑定到与其关联的 ViewHolder。ViewProvider 将使用 token
创建其内部 View 表示形式。调用方应使用自己的一半来创建相应的 ViewHolder 对象。
view_ref_control
和 view_ref
是同一事件对中每一半的两个类型化句柄。您可以先克隆 view_ref
,然后再将其传递给此方法,从而允许客户端跟踪视图(例如,在焦点链更新中)。
不得为 view_ref_control
设置 ZX_RIGHT_DUPLICATE,否则视图创建将失败。
请求
名称 | 类型 |
---|---|
token |
handle<eventpair>
|
view_ref_control |
fuchsia.ui.views/ViewRefControl
|
view_ref |
fuchsia.ui.views/ViewRef
|
表
CreateView2Args 资源
在 fuchsia.ui.app/view_provider.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
view_creation_token |
fuchsia.ui.views/ViewCreationToken
|
非可选。可以向 Flatland 提供此令牌,以将客户端的子视图附加到父视图的视口。 |