第 4 步 - 创建交互

在本步骤中,您将学习如何使用触发器和动作在应用程序中创建交互。

创建交互

使用触发器和动作来创建交互。使用触发器来触发动作,例如将属性设置为某个值或设置应用程序的状态。

在 Kanzi Studio 中,您可以在 Node Components 窗口中添加和设置触发器和动作。

您可以在与 Properties 窗口相同的组中找到 Node Components 窗口。

../../_images/add-on-attached-trigger.png

在本节中,您将创建按钮,并使用触发器和动作将消息写到 Log 窗口。

要创建交互:

  1. 在 Activity Browser 窗口中,在 Root Parallel Activity Host 下方点击 add-button,选择 Create Activity,并将活动及其预设件命名为 Navigation。在侧面板中,将 InitiallyActive 属性设置为启用。

    在此活动中,您将创建希望在所有应用程序屏幕上都可见的应用程序导航。

    ../../_images/activity-browser-navigation.png
  2. 在 Prefabs 窗口中,按 Alt 并右键单击 Navigation 预设件,选择 Button 2D,并将其命名为 Next。

    大多数 Kanzi 节点仅设置节点布局和功能。这使您可以灵活地使节点看起来符合您的需求。

    放置在 Navigation 活动的预设件中的内容在整个应用程序中都可见,因为该活动与显示应用程序屏幕的 Exclusive Activity Host 并行,而且您已将其设置为在启动时即处于激活状态。

    ../../_images/project-next.png
  3. 在 Preview 中,点击 analyze-off 以进入 Analyze 模式,右键点击 分析开启,然后选择 Borders of 2D nodes。

    在 Preview 窗口中使用 Analyze 模式来检查应用程序的结构和性能。

    Borders of 2D nodes 用条纹线勾勒出 2D 节点的边界。

    例如,这使您可以看到没有视觉表示的2D节点。您在上一步中创建的 Button 2D 节点位于 Preview 窗口的左上角。

    ../../_images/preview-debug-border-of-2d.png
  4. 在 Node Tree 窗口中,选择 Next 节点。在 Node Components 窗口中,在 Button: Click 消息触发器中,按 Alt 并右键单击 Actions,然后选择 Write Log。

    使用 Write Log 操作将消息打印到 Log 窗口。

    ../../_images/project-next.png ../../_images/triggers-write-log.png
  5. 在 Write Log 动作中,点击 Log Text 属性旁边的 Enter Operation,然后选择 <Name>。

    使用 <Name> 宏将包含此动作的节点的类型打印到 Log 窗口。

    ../../_images/write-log-settings.png
  6. 在主菜单中选择 Window > Log 以打开 Log 窗口。

    Kanzi 将消息、警告和错误打印到 Log 窗口。

    ../../_images/window-log.png ../../_images/log-window.png

在 Preview 窗口中,当您点击 Next Button 2D 节点的区域时,会触发 Button: Click 触发器,该触发器执行 Write Log 动作,将节点名称写到 Log 窗口。

../../_images/getting-started-step-4-log.gif

创建导航

在本节中,您将创建应用程序导航,并定义上一节中创建的按钮的外观。

要创建导航:

  1. 在 Node Tree 窗口中,按 Alt 并右键单击 Application Screens 节点并选择 Alias。

    Kanzi Studio 会在最近的节点的资源字典中创建别名。在此工程中,最近的带有资源字典的节点是 Screen 节点。

    您使用此别名来访问 Application Screens 活动主机,并控制其活动的激活状态。这样,您就可以创建应用程序导航。

    使用 Alias 来获得对 Kanzi 节点的一致访问。您可以使用别名来访问 Kanzi Studio 中的节点,并使用 Kanzi Engine API。

    ../../_images/node-tree-application-screens-alias.png ../../_images/dictionaries-application-screens.png
  2. 在 Prefabs 中,按 Alt 并右键单击 Next 节点并选择 Image。

    您使用此 Image 节点来定义按钮的外观和大小。

    ../../_images/project-next-image.png
  3. 在 Properties 窗口中,将 Image 属性设置为 Arrow 图像。

    当您将节点添加到 Button 2D 节点时,默认情况下,Button 2D 节点继承其子节点的大小。

    ../../_images/properties-image-arrow.png
  4. 在 Prefabs 窗口中,选择 Next 节点。在 Properties 窗口中,添加并设置:

    • Horizontal Alignment 到 Right

    • Vertical Alignment 到 Center

    这样,您就将该节点对齐到应用程序屏幕的右侧并垂直居中。

    ../../_images/prefabs-next.png ../../_images/properties-next.png ../../_images/preview-next.png
  5. 在 Node Components 窗口中,按 Alt 并右键单击 Button: Click 触发器,然后选择 Dispatch Message Action > Exclusive Activity Host > Navigate to Next Activity。

    使用 Navigate to Next Activity 动作,转到您在此动作中设置的 Exclusive Activity Host 节点中的下一个 Activity。

    ../../_images/triggers-navigate-to-next.png
  6. 在 Navigate to Next Activity 动作中设置:

    • Target Item 为 Relative 和 #Application Screens

    • 将 Loop Activity 设置为 enabled。

    当 Button: Click 触发器执行此动作时,该动作会导航至 Application Screens 活动宿主中的下一个活动。到达最后一个活动时,该动作会导航至第一个活动。

    ../../_images/navigate-to-next-settings.png
  7. 在 Prefabs 窗口中,选择 Next 节点并按 Ctrl D 键以复制该节点。

    复制并修改 Next 节点,以创建一个导航至 Application Screens 中上一个活动的按钮。

    ../../_images/project-duplicate-next.png
  8. 按 F2 键并将节点重命名为 Previous。

    ../../_images/project-previous.png
  9. 在 Properties 窗口中,添加并设置:

    • Horizontal Alignment 为 Left

    • Transform 2D > Render Transformation Origin 属性字段 X 和 Y 为 0.5

    • Transform 2D > Render Transformation 属性字段 Rotation 为 180

    ../../_images/properties-previous.png
  10. 在 Node Components 窗口中,右键单击 Navigate to Next Activity 动作并选择 Delete。

    ../../_images/triggers-remove-action.png
  11. 在 Node Components 中,按 Alt 并右键单击 Button: Click 触发器,选择 Dispatch Message Action > Exclusive Activity Host > Navigate to Previous Activity,并在 Navigate to Previous 动作中设置:

    • Target Item 为 Relative 和 #Application Screens

    • 将 Loop Activity 设置为 enabled。

    ../../_images/triggers-navigate-to-previous.png ../../_images/navigate-to-previous-settings.png
  12. 在 Preview 窗口中,单击 分析开启 以退出 Analyze 模式。

    ../../_images/preview-exit-edit-debug-modes.png

在 Preview 窗口中,点击 Next 和 Previous 按钮时,会激发这些按钮中的 Button: Click 触发器,并使用 Navigate to Next Activity 和 Navigate to Previous Activity 动作转到 Application Screens 活动宿主的下一个和上一个 Activity。

../../_images/getting-started-step-4.gif

另请参阅

要详细了解有关创建按钮的信息,请完成 教程:创建一个按钮。

要了解有关 Write Log 操作的更多信息,请参阅 使用 Write Log 操作。

要详细了解有关触发器和动作的信息,请参阅 触发器 (Triggers)。

要了解有关 Preview 窗口工具的更多信息,请参阅 在 Preview 中编辑您的应用程序。。