<i id="0njld"></i>

  1. <rp id="0njld"></rp>

    <cite id="0njld"><noscript id="0njld"></noscript></cite>
  2. <cite id="0njld"><tbody id="0njld"><label id="0njld"></label></tbody></cite>
      <source id="0njld"><menuitem id="0njld"><em id="0njld"></em></menuitem></source>
      <video id="0njld"><menuitem id="0njld"><legend id="0njld"></legend></menuitem></video><b id="0njld"><tbody id="0njld"></tbody></b>
       
      Kanzi 3.6.4焦点控制功能全面升级,速来体验吧
      来源: | 作者:王黔单 | 发布时间: 2019-06-14 | 2683 次浏览 | 分享到:
      大家在使用Kanzi 时有这样的感受吗?之前的版本在Kanzi  Studio中需要借助Javascript脚本才能实现设置Focus的功能,使用起来有诸多不便。而如今,Kanzi 3.6.4中新添加了两个动作去设置和移动Focus,我们可以直接通过可视化界面去操作,不需要再在脚本中实现了,小小的改变却极大的提升了使用体验。

      Focus,即我们常说的焦点。焦点允许用户使用物理按键输入访问用户界面元素。例如,在PC上,用户可以按下键盘上的方向键移动滑块,也可以按下 Enter 键点击一个按钮。现今,液晶数字仪表上的菜单切换往往是使用物理的按键来控制,例如使用方向盘上的方向键。当点击向右的方向键时,我们界面聚焦的元素变换为右边的元素,像这样的聚焦元素迁移变换过程,常常就涉及到了Focus的移动。

      那么,如何在Kanzi Studio中给某个节点设置焦点?怎样在不同节点之间切换焦点呢?下面我们带着这两个问题来熟悉一下Focus涉及到的几个重要概念。

      设置焦点

      Kanzi 使用 已聚焦 (Focused) 属性来跟踪哪些节点有焦点,使用触发器为某个节点设置Focused 状态,触发器中使用Set Focus和Move Focus两个动作为节点设置Focused状态。

      下图是Kanzi Studio 中Set Focus窗口。Set Focus,顾名思义直接设置焦点,可以设置指定的某个节点为焦点。Target Item,目标项设置为指定节点的路径或别名;Action Delay是设置这个动作的延时,如果我们需要这个动作在触发200ms之后再执行,则可以将Action Delay设置为200。



      另一个动作Move Focus的设置窗口如下图,Move Focus,即移动焦点,可以相对于当前节点移动焦点到另一节点。Kanzi中提供了六个方向移动焦点:Backward将焦点移动到后一节点;Forward将焦点移动到前一节点;Up将焦点移动到上一个节点;Down将焦点移动到下一节点;Left将焦点移到左边的节点;Right将焦点移动到右边的节点。



      默认键盘导航键

      Kanzi 应用程序中焦点只有一个,当某个节点具有焦点时,就可以使用该节点默认的键盘导航键来控制焦点移动。例如,网格列表框 (Grid List Box) 节点有焦点时,使用:

      ↑(上箭头)和 ↓(下箭头) 键盘键在垂直列表框中滚动列表项

      →(右箭头)和 ←(左箭头) 键盘键在水平列表框中滚动列表项

      Home 键选择第一个列表项

      End 键选择最后一个列表项

      Page Up 和 Page Down 键转到列表框可见区域的开始和结束位置

      焦点链(Focus Chain)

      当我们想要在节点之间移动焦点时,通常会考虑到需要由哪个节点来接收焦点,这就涉及到焦点的转移顺序,Kanzi中使用焦点链来描述它。

      如何在焦点链中移动焦点呢?我们都知道键盘上有上下左右以及前进后退六个方向键,Kanzi Studio中也相应提供了以下六个属性来记录使用方向键后具有焦点的目标节点,属性与方向键的对应关系如下:



      焦点范围(Focus Scope)

      我们可以为某个节点设置焦点范围,当这个节点获得焦点时,Kanzi会将焦点从该节点前进到范围内具有逻辑焦点的子节点上。逻辑焦点(Logical Focus ),每个节点都可以设置该属性,可以手动为需要焦点的子节点添加这个属性,请注意,如果焦点范围内有多个子节点都设置了Logical Focus,焦点管理器会自动将焦点设置到最后一个子节点。




      设置特定键盘键以移动焦点

      我们还可以使用键盘上的其他按键来移动焦点。例如,我们可以在按下键盘上的E键,转移焦点到某个指定的节点,这时候就可以为相应节点添加Key Down触发器,设置相关条件过滤按键是否为E键,当按下E键时,执行添加的Set Focus/ Move Focus动作,这样设置好后,当触发并满足条件时焦点就会移动到指定的节点。



      以上主要是列举了在PC上如何通过键盘按键控制焦点的移动,在我们开发仪表,如需使用方向盘上的物理按键控制焦点时,也可以使用类似的方式。在Kanzi Studio中的设置和移动焦点的方法都是相同的,只是按键消息的来源不相同。当理解这几个重要概念后,我们就可以在Kanzi Studio中灵活使用Focus啦!

      下面视频是一个小小的Demo展示了应用程序的界面是如何响应键盘按键的。





      相关文章
      江苏快三计划网 436| 924| 578| 269| 703| 724| 31| 370| 486| 540| 858| 111| 396| 681| 739| 285| 504| 149| 698| 958| 669| 384| 483| 41| 466| 251| 135| 15| 444| 171| 571| 975| 607| 528| 354| 147| 716| 802| 149| 429| 36|