查看系统

界面客户端用来创建、销毁和修改 View 的一组 View API 统称为View 系统

查看

界面客户端通过与 Views 互动来管理 View,Sce 会代表他们维护所有 View,并将 View 组合成一个连贯的 View 树。

每个 View 都会定义一个二维坐标系;界面客户端会将图形内容嵌入到 View 的坐标系中,并根据该坐标系接收输入事件。

界面客户端若未先将图形内容嵌入到 View 中,则无法将其呈现到屏幕。

视口

界面客户端可以通过请求 View 创建一个名为 Viewport 的对象来将其他 View 嵌入到自己的 View 中;此 Viewport 会与其“托管”的给定 View 原生关联。

托管 View 可以(并且通常)由其他组件中的另一个界面客户端拥有。

查看树

使用 View 和 Viewports 界面客户端可以协同构建全球分布式内容树,以便系统为“景观图”分派内容进行渲染和查询,以进行命中测试。

这个全局 View 树称为 View Tree,景观树负责代表界面客户端对其进行维护。

由 Views 渲染的所有内容都封装在 View 中。传送至界面客户端的每个输入事件都是相对于该客户端拥有的 View 的。

查看要显示和输入的树关系

Score 会将 View 树的根 View 呈现给屏幕,这意味着根视图的尺寸与屏幕尺寸相同。

View 会根据其坐标系的大小和位置来划分 View 之间的显示空间。

View 的点击测试系统根据这种分区方式运行,以便界面客户端根据其 View 的大小和位置接收输入事件。

查看树状规则

  • 不允许任何依赖循环。
  • 每个 View 只能有一个其他 View 作为父视图。
  • 每个视图只知道自己的坐标系。
  • 每个视图都可以通过平移、旋转和缩放来控制托管的子视口的坐标系。