使用 Page 和 Page Host 节点¶
备注
Activity 和 Activity Host 节点使您能够创建用户可以在您的应用程序中导航的 UI。因此,它们取代了 Page 和 Page Host 节点的功能。请参阅 活动。
使用 Page 节点在您的应用程序中创建用户界面的结构,并使用 Page Host 节点管理导航请求和 Page Host 节点下的 Page 节点之间的过渡。例如,您可以使用 Page 和 Page Host 节点在您的 Kanzi 应用程序中创建用户界面的不同部分,例如 Page Host 节点 Home、Media、Navigation 或 Settings 屏幕,每个屏幕都有其自己的 Page 和 Page Host 节点层次结构。
您可以嵌套 Page Host 节点来创建应用程序用户界面的结构。例如,您可以有一个 Page Host 节点管理应用程序用户界面的根级导航,例如在 Home、Media、Navigation 和 Settings 之间的转换,并向其添加子 Page Host 节点,每个节点管理其自己的 Page 节点层次结构,例如 Media Page Host 节点的 Page 节点。
激活 Page 和 Page Host 节点¶
当一个 Page 节点处于活动状态时,其所有祖先 Page 和 Page Host 节点也处于活动状态。当一个 Page 或 Page Host 节点处于活动状态时,其所有内容及其所有祖先 Page 和 Page Host 节点的内容都是可见的,用户可以与之交互。在一个简单的用例中,层次结构中只有一个 Page 节点处于活动状态。然而,您可以通过在层次结构中同时激活多个 Page 或 Page Host 节点来构建复杂的结构。要实现这一点,请在您希望自动激活的所有 Page 和 Page Host 节点上启用 Keep Active 属性。当其父 Page 或 Page Host 节点处于活动状态时,这些节点会自动变为活动状态。
跟踪激活¶
Page Host 节点在其范围内跟踪当前活动的 Page 或 Page Host 节点。当您激活 Page Host 节点时,该 Page Host 节点会自动激活其范围内当前活动的 Page 或 Page Host 节点。这使得 Page Host 节点在激活期间能够记住并恢复其状态到被停用之前的状态。
使用 Page 和 Page Host 节点创建应用程序结构。¶
使用 Pages 窗口来创建和管理您的应用程序结构。
要使用 Pages 窗口创建应用程序结构:
在 Pages 窗口中,将鼠标指针移动到 RootPage 上,然后双击
,以在 RootPage 节点下创建两个 Page 节点。当您在 Pages 中创建 Page 节点时,您也可以在 Node Tree 中看到相同的 Page 节点。
小技巧
要在 Pages 窗口中平移和缩放,请使用以下快捷键:
动作
快捷键
平移
点击鼠标中键并拖动。
按下 Space 键,然后单击并拖动鼠标左键。
缩放
滚动鼠标滚轮。
按下 Shift 和 Alt 键,然后单击并拖动鼠标左键。
在 Pages 中,双击您在上一步中创建的 Page 节点的名称,并将其重命名为 Applications 和 Settings。
在 Pages 中,右键单击 Applications 和 Settings 节点,然后选择 Convert to Page Host。
使用 Page Host 节点来分组其他 Page Host 和 Page 节点。Page 和 Page Host 节点之间的主要区别在于,Page Host 节点管理其树中的导航请求和过渡。
在 Pages 中,将鼠标指针移动到 Page Host 节点 Applications 上,并在该节点的底部单击
三次,以在 Applications 节点下创建三个子 Page 节点,并将它们命名为 Home、Media 和 Car。每个 Page 节点都包含其应用程序的内容。 在本教程中,出于原型设计的目的,您只需添加这些应用程序的图像。 然而,当您将应用程序从原型阶段转移到开发阶段时,请将占位符替换为这些应用程序的内容。
小技巧
要查看应用程序中 Page 和 Page Host 节点的整个结构, 在 Pages 窗口中单击
。
在 Assets 中,导入要在每个 Page 节点中显示的内容。
将您导入的内容从 Assets 拖动到 Pages 窗口。
例如,拖动:
将 Home_Page 纹理应用到 Home 节点。
将 Media_Page 纹理应用到 Media 节点。
将 Car_Page 纹理应用到 Car 节点。
您将图像从 Assets 拖放到 Pages 中的 Page 或 Page Host 节点上时,Kanzi Studio 会使用您拖放的图像创建一个 Image 节点。
小技巧
当您在 Pages 窗口中点击任何 Page 或 Page Host 节点时,Kanzi 会过渡到该节点,您可以在 Preview 中看到过渡。
在 Pages 中,点击每个 Page。在 Preview 中,您可以看到 Push 在 Page 节点之间的过渡。
小技巧
当您只想在 Preview 中查看所选 Page 或 Page Host 节点的内容时,请在 Pages 中双击该节点,Kanzi Studio 会在 Preview 中的一个单独选项卡中打开它。
设置 Page 和 Page Host 节点的外观¶
要设置 2D 节点的外观:
您可以使用单色、纹理或材质填充 2D 节点。请参阅 调整 2D 节点的外观。
您可以将后期处理效果应用于2D节点。请参阅 2D 节点的效果。
您可以围绕所有三个轴旋转 2D 节点,以创建 3D 透视效果。请参阅 为2D节点创建3D透视效果。
您可以应用自定义渲染到 2D 节点,以创建后处理效果。请参阅 应用自定义渲染到 2D 节点。
您可以将2D节点渲染为像素完美。请参阅 渲染像素完美的2D节点。
在 API 中使用 Page 和 Page Host 节点。¶
要迁移到选定的 Page 节点:
// Look up child page in the scope of Page host.
PageSharedPtr subPage = host->lookupNode<Page>(path);
// Request animated transition to given page.
subPage->navigate();
要立即迁移到选定的 Page 节点:
// Make immediate transition, without playing an animation.
subPage->navigate(true);
要获取当前激活的 Page 或 Page Host 子孙节点:
// Retrieve currently active subpage.
PageSharedPtr currentSubPage = host->getDefaultChild();
要将 Page Host 节点从当前 Page 节点过渡到下一个 Page 节点:
// Request animated transition from currently active page to next subpage.
PageHost::NavigateNextMessageArguments args;
host->dispatchMessage(PageHost::NavigateNextMessage, args);
Page 属性类型和消息¶
有关 Page 节点的可用属性类型和消息的列表,请参阅 Page。
Page Host 属性类型和消息。¶
有关 Page Host 节点的可用属性类型和消息的列表,请参阅 Page Host。