第 4 步 - 创建交互
在本步骤中,您将学习如何使用触发器和动作在应用程序中创建交互。
创建交互
使用触发器和动作来创建交互。使用触发器来触发动作,例如将属性设置为某个值或设置应用程序的状态。
在 Kanzi Studio 中,您可以在 Node Components 窗口中添加和设置触发器和动作。
您可以在与 Properties 窗口相同的组中找到 Node Components 窗口。
在本节中,您将创建按钮,并使用触发器和动作将消息写到 Log 窗口。
要创建交互:
在 Activity Browser 窗口中,在 Root Parallel Activity Host 下方点击
,选择 Create Activity,并将活动及其预设件命名为 Navigation。在侧面板中,将 InitiallyActive 属性设置为启用。
在此活动中,您将创建希望在所有应用程序屏幕上都可见的应用程序导航。
在 Prefabs 窗口中,按 Alt 并右键单击 Navigation 预设件,选择 Button 2D,并将其命名为 Next。
大多数 Kanzi 节点仅设置节点布局和功能。这使您可以灵活地使节点看起来符合您的需求。
放置在 Navigation 活动的预设件中的内容在整个应用程序中都可见,因为该活动与显示应用程序屏幕的 Exclusive Activity Host 并行,而且您已将其设置为在启动时即处于激活状态。
在 Preview 中,点击
以进入 Analyze 模式,右键点击
,然后选择 Borders of 2D nodes。
在 Preview 窗口中使用 Analyze 模式来检查应用程序的结构和性能。
Borders of 2D nodes 用条纹线勾勒出 2D 节点的边界。
例如,这使您可以看到没有视觉表示的2D节点。您在上一步中创建的 Button 2D 节点位于 Preview 窗口的左上角。
在 Node Tree 窗口中,选择 Next 节点。在 Node Components 窗口中,在 Button: Click 消息触发器中,按 Alt 并右键单击 Actions,然后选择 Write Log。
使用 Write Log 操作将消息打印到 Log 窗口。
在 Write Log 动作中,点击 Log Text 属性旁边的 Enter Operation,然后选择 <Name>。
使用 <Name> 宏将包含此动作的节点的类型打印到 Log 窗口。
在主菜单中选择 Window > Log 以打开 Log 窗口。
Kanzi 将消息、警告和错误打印到 Log 窗口。
在 Preview 窗口中,当您点击 Next Button 2D 节点的区域时,会触发 Button: Click 触发器,该触发器执行 Write Log 动作,将节点名称写到 Log 窗口。
创建导航
在本节中,您将创建应用程序导航,并定义上一节中创建的按钮的外观。
要创建导航:
在 Node Tree 窗口中,按 Alt 并右键单击 Application Screens 节点并选择 Alias。
Kanzi Studio 会在最近的节点的资源字典中创建别名。在此工程中,最近的带有资源字典的节点是 Screen 节点。
您使用此别名来访问 Application Screens 活动主机,并控制其活动的激活状态。这样,您就可以创建应用程序导航。
使用 Alias 来获得对 Kanzi 节点的一致访问。您可以使用别名来访问 Kanzi Studio 中的节点,并使用 Kanzi Engine API。
在 Prefabs 中,按 Alt 并右键单击 Next 节点并选择 Image。
您使用此 Image 节点来定义按钮的外观和大小。
在 Properties 窗口中,将 Image 属性设置为 Arrow 图像。
当您将节点添加到 Button 2D 节点时,默认情况下,Button 2D 节点继承其子节点的大小。
在 Prefabs 窗口中,选择 Next 节点。在 Properties 窗口中,添加并设置:
这样,您就将该节点对齐到应用程序屏幕的右侧并垂直居中。
在 Node Components 窗口中,按 Alt 并右键单击 Button: Click 触发器,然后选择 Dispatch Message Action > Exclusive Activity Host > Navigate to Next Activity。
使用 Navigate to Next Activity 动作,转到您在此动作中设置的 Exclusive Activity Host 节点中的下一个 Activity。
在 Navigate to Next Activity 动作中设置:
当 Button: Click 触发器执行此动作时,该动作会导航至 Application Screens 活动宿主中的下一个活动。到达最后一个活动时,该动作会导航至第一个活动。
在 Prefabs 窗口中,选择 Next 节点并按 Ctrl D 键以复制该节点。
复制并修改 Next 节点,以创建一个导航至 Application Screens 中上一个活动的按钮。
按 F2 键并将节点重命名为 Previous。
在 Properties 窗口中,添加并设置:
Horizontal Alignment 为 Left
Transform 2D > Render Transformation Origin 属性字段 X 和 Y 为 0.5
Transform 2D > Render Transformation 属性字段 Rotation 为 180
在 Node Components 窗口中,右键单击 Navigate to Next Activity 动作并选择 Delete。
在 Node Components 中,按 Alt 并右键单击 Button: Click 触发器,选择 Dispatch Message Action > Exclusive Activity Host > Navigate to Previous Activity,并在 Navigate to Previous 动作中设置:
在 Preview 窗口中,单击
以退出 Analyze 模式。
在 Preview 窗口中,点击 Next 和 Previous 按钮时,会激发这些按钮中的 Button: Click 触发器,并使用 Navigate to Next Activity 和 Navigate to Previous Activity 动作转到 Application Screens 活动宿主的下一个和上一个 Activity。