使用 Navigation Manipulator¶
使用 Navigation Manipulator 设置用户可以用来在您的应用程序中导航到不同方向的键。
默认方向导航键¶
这些是用户可以在 Kanzi 应用程序中使用的默认方向键盘键:
Slider 节点启用了 Focusable 属性,并且默认情况下可以接收焦点。当 Slider 节点具有焦点时,要移动该滑块的旋钮,您可以使用这些默认键盘键:
Home 将滑块旋钮移动到轨道的起始位置。
End 将滑块旋钮移动到轨道的末端。
← 和 → 用于移动水平滑块的旋钮。
↑ 和 ↓ 用于移动垂直滑块的旋钮。
要使用箭头键盘键移动滑块旋钮,请在该 Slider 节点中使用 Step Value 属性设置每次按键时旋钮移动的量。
您在 Kanzi Studio 中创建的 Scroll View 节点默认启用 Focusable 属性,并且可以接收焦点。当 Scroll View 节点具有焦点时,要滚动该节点,您可以使用默认的键盘键 ←、→、↑ 和 ↓。
当 Grid List Box 节点具有焦点时,您可以使用这些默认键盘键:
↑ 和 ↓ 用于滚动垂直列表框中的列表项。
→ 和 ← 用于滚动水平列表框中的列表项。
Home 以选择第一个列表项。
End 以选择最后一个列表项。
Page Up 和 Page Down 用于移动到列表框可见区域的开头和结尾。
当 Text Box 节点处于编辑状态时,要在该文本框中移动光标,您可以使用这些默认键盘键:
← 将光标向后移动一个字符。
→ 将光标向前移动一个字符。
Ctrl ← 将光标移动到光标前的单词边界。
Ctrl → 将光标移动到光标后面的单词边界。
Home 将光标移动到文本内容的开头。
End 将光标移动到文本内容的末尾。
当 Text Box 节点处于编辑状态时,要修改该文本框中的文本选择,您可以使用这些默认键盘键:
Shift ← 将文本选择中的活动光标向后移动一个字符。
Shift Ctrl 将活动光标在文本选择中移动到当前光标位置之前的单词边界。
Shift Home 将文本选择中的活动光标移动到文本内容的开头。
Shift → 将文本选择中的活动光标向前移动一个字符。
Shift Ctrl → 将活动光标在文本选择中移动到当前位置之后的单词边界。
Shift End 将活动光标在文本选择中移动到文本内容的末尾。
Ctrl A 以选择所有文本。
使用 Navigation Manipulator 触发器¶
使用 Navigation Manipulator 触发器在用户开始、完成或取消方向导航键手势时做出反应。例如,您可以使用特定的键来使用户能够将键焦点移动到特定方向。
Navigation Manipulator 具有以下触发器:
当 Kanzi 识别到导航键的按键或按键重复手势时,Key Navigation Started 触发器被激活。
例如,当用户按下键盘上的导航键时,会发生这种情况。
当 Kanzi 识别到导航键的释放手势时,Key Navigation Finished 触发器被激活。
例如,这发生在用户释放键盘上的导航键时。
当 Kanzi 识别到导航键的按键手势取消时,Key Navigation Canceled 触发器被触发。
要使用 Navigation Manipulator 触发器:
创建并配置一个 Navigation Manipulator:
在 Node Tree 或 Prefabs 中,选择一个可聚焦的节点,以接收来自按键的方向导航输入。请参阅 使用焦点。
这些节点启用了 Focusable 属性,并且默认情况下可以接收焦点:
您使用 Kanzi Engine API 或 Kanzi Studio 创建的 Button、Toggle Button、Slider 和 Text Box 节点。
使用 Kanzi Studio 创建的 Scroll View 节点。
例如:在 Prefabs 中选择一个预设占位符节点,您可以使用该节点实例化一个垂直堆叠的菜单按钮组。默认情况下,您可以通过按 Tab 键在按钮之间向前移动焦点,并通过按 Shift Tab 键向后移动焦点。请参阅 在焦点链中移动焦点 和 表明用户界面元素何时具有焦点。
在 Node Components 按 Alt 并右键单击 Input Manipulators 中,选择 Navigation Manipulator。
使用 Navigation Manipulator 将节点设置为对一个或多个键的方向导航输入做出反应。
在 Navigation Manipulator 中,添加并设置一个或多个导航键属性到您希望节点响应的键。
例如,要配置用户可以用来向上和向下导航的键,请添加并设置 Up Navigation Key 和 Down Navigation Key 属性。
在 Navigation Manipulator 中创建并配置您在上一步中设置的导航键的触发器:
在 Node Components 中创建一个 Navigation Manipulator 触发器。
例如:在 Node Components 按 Alt 并右键单击 Triggers 中,选择 Message Trigger > Key Input > Key Navigation Started,并命名触发器。
如果您在 Navigation Manipulator 中设置了多个导航键属性,请使用触发条件来配置哪个导航键触发您创建的触发器。
在 Node Components 按 Alt 并右键单击 触发器中,选择 Trigger Condition,并在条件中设置:
A
Type of A 到 Message argument
Message Argument 到 Navigation Direction
Operation 到 =
B
Type of B 到 Fixed
Fixed Value 到您希望触发器响应其导航键的导航方向。
例如,如果您希望触发器在用户按下您在 Navigation Manipulator 中使用 Down Navigation Key 属性设置的键时启动,请将 Fixed Value 设置为 Down。
在 Node Components 按 Alt 并右键单击 中,创建的触发器并选择您希望触发器在用户按下您在 Navigation Manipulator 中配置的导航键时执行的操作。
例如,选择 Move Focus 操作,并在操作设置中将 Direction 设置为 Forward。
此操作将焦点向前移动到焦点链中的下一个节点,类似于用户按下 Tab 键时焦点的移动方式。
当用户按下您在 Navigation Manipulator 中设置的键时,Key Navigation Started 触发器会启动您创建的操作。
在此示例中,当用户按下您在 Down Navigation Key 属性中的 Navigation Manipulator 中设置的 ↓ (Arrow down) 键时,焦点将向前移动到下一个菜单按钮。
重复上一步,以创建并配置另一个 Navigation Manipulator 触发器。
例如,创建另一个 Key Navigation Started 触发器,并在该触发器中创建:
Trigger Condition 在用户按下您在 Navigation Manipulator 中使用 Up Navigation Key 属性设置的键时触发。
Move Focus 操作,您将 Direction 设置为 Backward。
在此示例中,当用户按下您在 Up Navigation Key 属性中的 Navigation Manipulator 中设置的 ↑ (Arrow up) 键时,焦点将向后移动到下一个菜单按钮。
您可以在 Navigation Manipulator 中设置更多导航键,并创建触发器以定义用户按下这些键时会发生什么。
例如:在 Navigation Manipulator 中设置 End Navigation Key 属性,并创建一个带有 Try Set Focus 操作的 Key Navigation Started 触发器,当用户按下 End 键时,将焦点设置到组中的最后一个按钮。
使用 API 中的导航操控器¶
有关详细信息,请参阅 NavigationManipulator 类。