第 3 步 - 在屏幕之间导航

在此步骤中,首先在 RootNode 节点中创建页眉和页脚,然后创建用于在上一步中创建的 Activity 节点之间导航的按钮。

创建导航按钮的预设件

使用预设件(预制模板)来组织应用程序的结构并创建一致的界面。您可以使用预设件创建应用程序的构建块,并简化应用程序的维护。

在本节中,您将为切换按钮创建预设件,然后在 Footer 节点中将其用作控件,在应用程序中的 Activity 节点之间导航。

要创建导航按钮的预设件:

  1. 在 Prefabs 窗口的右下角点击 create-prefab,创建 Toggle Button 2D 预设件,并在 Toggle Button 2D 中:

    1. 创建一个 Stack Layout 2D 节点。

    2. 将 Menu 图像从 Assets 拖动到 Stack Layout 2D 节点。

    3. 在 Stack Layout 2D 节点中,创建 Text Block 2D 节点。

    ../../_images/toggle-button-2d-prefab-done.png
  2. 在 Prefabs 中双击 Toggle Button 2D 预设件,在 Preview 中的单独选项卡中只打开该预设件。

    当您在 Preview 中打开一个预设时,Kanzi Studio 会将其显示为主菜单下方的一个选项卡。当您希望查看和调整预设而不受使用该预设的上下文干扰时,请在 Preview 中打开预设。

    ../../_images/composition-tab.png ../../_images/preview-toggle-button-2d.png
  3. 在 Prefabs 中,选择 Toggle Button 2D > Stack Layout 2D > Text Block 2D 节点。在 Properties 中,点击 Text 属性旁边的 发布属性。

    这样即可为每个预设件实例设置文本。

    一个节点预设可以包含一个节点树,每个节点都有其自己的属性。当您在项目中编辑预设或其任何实例中的节点时,您会更改该预设的所有实例中的那些节点。您可以通过覆盖预设的属性值来自定义预设的每个实例,使其具有自己的属性值。例如,当您为通讯录条目创建一个预设时,您希望为每个通讯录条目显示不同的姓名、号码和照片。

    点击 发布属性 时,Kanzi Studio 会:

    1. 从该属性创建一个自定义属性类型。

    2. 将该自定义属性类型添加到预设件的根节点。

    3. 创建到预设件根节点中该属性的 ##Template 绑定。

    这样,您可以在预设件实例的根目录中设置要让 Text Block 2D 节点显示的文本。

    ../../_images/prefabs-toggle-button-text-block.png ../../_images/publish-text-property.png
  4. 在 Text Block 2D 处于选定状态时,在 Preview 中使用 Node tool node-tool,然后点击 Align tool 对齐 中的中心方块,将 Text Block 2D 与 Stack Layout 2D 节点的中心对齐。

    ../../_images/align-the-text-block-2d.png
  5. 单击主菜单下的 Screen 选项卡以在 Preview 中显示整个应用程序。

    ../../_images/click-screen-composition-tab.png
  6. 在 Node Tree 中的 Footer 节点中:

    1. 创建一个 Toggle Button Group 2D 节点。

      Toggle Button Group 节点可让用户只能从一组相互排斥的选项中选定一个选项。

      切换按钮组中切换按钮的行为与单选按钮相似,一次只能有一个切换按钮处于活动状态。

      ../../_images/create-toggle-button-group.png
    2. 在 Toggle Button Group 2D 节点中创建一个 Stack Layout 2D 节点。

      ../../_images/toggle-button-group-with-stack-layout.png
    3. 从 Prefabs 中,将 Toggle Button 2D 预设件三次拖到 Node Tree 上,并将其放在 Footer > Toggle Button Group 2D > Stack Layout 2D 节点上。

      当您将预设从 Prefabs 拖动到 Node Tree 中的任何节点时,Kanzi Studio 会在您放置预设的节点树中创建该预设的一个实例。

      ../../_images/footer-done.png
    4. 在 Node Tree 中,选择每个 Toggle Button 2D 预设件实例,按下 F2,并将其分别命名为 Navigation、Car 和 Media。

      ../../_images/toggle-button-2d-nodes-renamed.png
    5. 选择每个 Toggle Button 2D 预设实例,并在 Properties 中添加并将 FirstApplication.ToggleButton2D.Text 属性的值设置为 Navigation、Car 和 Media。

      ../../_images/togglebutton2dtext-property-navigation.png ../../_images/toggle-button-2d-text-set.png
  7. 对于 Footer > Toggle Button Group 2D > Stack Layout 2D 节点中的每个 Toggle Button 2D 预设实例:

    1. 在 Node Components 中,按 Alt 并右键单击 Triggers 并选择 Message Trigger > Toggle Button > Toggled On,以添加该触发器。

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

      ../../_images/add-toggled-on-trigger.png
    2. 在 Node Components 中,在您创建的触发器中 按 Alt 并右键单击 Actions,并选择 Dispatch Message Action > Activity Host > Activate Activity。

      ../../_images/activate-activity-action.png
    3. 在 Activity Host: Activate Activity 动作中设置:

      • 将 Target Item 设置为包含这些 Activity 的 Exclusive Activity Host 2D

      • 将 Activity Activation Path 设置为您希望按钮导航到的 Activity

      例如,在 Car 切换按钮中,将动作设置为转到 Car Settings Activity。

      ../../_images/navigation-request.png
    4. 在 Preview 中,单击 交互 (Interact) 以进入 Interact 模式。

      在 Interact 模式下,您可以在 Preview 窗口中像在设备上一样与应用程序交互。

重新启动 Preview 并点击 Footer 节点中的每个按钮时,按钮中的触发器会触发一个动作,迁移到您在每个按钮中设置的 Activity 节点。

../../_images/first-tutorial-step-3.gif

另请参阅

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

要详细了解有关使用布局控制节点的信息,请参阅 布局控制节点。

要详细了解有关使用预设件的信息,请参阅 使用节点预设。

要详细了解有关切换按钮和切换按钮组的信息,请参阅 按钮。