Kanzi 3.9.1 发行说明

功能改进

  • 引入了新的混合模式:

    • Multiply 和 Screen 模式用于使内容变暗和变亮。

      ../../_images/multiply-overlay-with-content.png ../../_images/screen-overlay-with-content.png
    • 用于 alpha 合成的 Porter-Duff 混合模式

      ../../_images/mask-completed.png

    请参阅 混合和合成2D节点。

  • 焦点处理:

    • 引入了 Contains Focus 属性,该属性报告节点或其任何子节点是否具有键盘焦点。

      例如,使用此属性以视觉方式向用户指示用户界面元素是否具有焦点。

      请参阅 表明用户界面元素何时具有焦点。

      ../../_images/contains-focus-binding.gif
    • Kanzi 现在可以将焦点设置到一个实际上不可见的可见节点上。

      例如,Kanzi 可以在列表项容器不可见时将焦点设置到 List Box 节点中的某个项目。

  • 引入了应用程序配置选项,使您能够控制 Kanzi 每帧用于部署异步加载资源的最大持续时间。使用此配置选项可以在应用程序异步加载许多资产时优化加载时间。请参阅 DeploymentQueueBudget。

  • Kanzi Java API。您现在可以使用任务和计时器修改 Kanzi 主循环。请参阅 修改主循环逻辑。

  • Kanzi Android framework (droidfw):

    • 您现在可以从 Kotlin 使用 Kanzi Android framework (droidfw) 和 Kanzi Java API。请参阅 使用 Java 和 Kotlin。

    • 您现在可以在 Kanzi 视图上使用 kzbPathList 属性来设置要在 Kanzi 附加视图时自动加载的 kzb 文件列表。这样,您可以用 Java KanziRuntime.loadKzb 方法替换手动加载文件。

  • Kanzi 活动系统

    • 引入的消息:

      • Activity Activating (ActivityConcept::ActivityActivatingMessage)

        当 Activity 处于激活状态时,会发送此消息。

      • Activity Activated (ActivityConcept::ActivityActivatedMessage)

        当活动被激活时,会发送此消息。

      • Activity Deactivating (ActivityConcept::ActivityDeactivatingMessage)

        当 Activity 处于停用状态时,会发送此消息。

      • Activity Deactivated (ActivityConcept::ActivityDeactivatedMessage)

        当活动被停用时,活动会发送此消息。

    • Kanzi Studio 现在在 Activity Browser、Node Tree 和 Prefabs 之间自动同步活动和活动主机的选择。

      例如,当您在 Activity Browser 中选择一个活动或活动主机时,Kanzi Studio 现在会自动选择 Prefabs 中的活动预设,以及 Node Tree 或 Prefabs 中的活动主机。

更改

  • 从 FocusManager::trySetFocus() 方法中移除了焦点原因参数。现在这些方法在设置节点焦点时使用 FocusManager::ForceFocusReason。

  • 活动和焦点:

    • Kanzi Studio 默认情况下不再将 Save Last Focused Node 和 Focus Scope Type 属性添加到 Activity Host 节点。您不再需要在 Activity Host 节点上设置这些属性,以启用在其 Activities 中保存和恢复最后聚焦的节点。

    • 当您重新启动 Kanzi 应用程序或 Kanzi Studio 预览时,如果节点树中唯一可聚焦的内容位于该 Activity 内,则激活的 Activity 现在获得初始应用程序焦点。

  • 已取消为 Code Behind 设置 KANZI_HOME 环境变量的要求。

  • 将材料的默认混合模式从 Opaque 更改为 Alpha: Premultiplied。请参阅 Kanzi 3.9.1 migration guide。

  • 添加了 Activity Name (ActivityConcept::ActivityMessageArguments::ActivityName) 消息参数以按名称筛选活动。

    当您打开使用 Activity Prefab Attached 或 Activity Prefab Detached 消息的 Kanzi Studio 项目时,Kanzi Studio 会自动应用更改。

  • Kanzi Java API:

    • 更改了 ResourceManager.LoadTask 接口以增加排队依赖项的功能。请参阅 Kanzi 3.9.1 migration guide。

    • 为了更方便地访问异步加载的资源,添加了 ResourceManager.AcquireTask.getLoadedResource 方法。

    • 当构建 Metaclass 实例时,类类型参数现在是可选的。

    • 在 Windows 上运行 Java 插件时,默认情况下 JDK 的搜索路径现在支持更多计算机配置。

  • Kanzi 不再依赖于 ICU 库版本 52.1。

  • 添加了一个独立的包,使您能够在没有 Kanzi Studio 的情况下开发适用于 Android 的 Kanzi 应用程序。例如,当您使用此包时,可以在 Linux 上使用 Android Studio 开发 Kanzi 应用程序,使用命令行界面和 Gradle 在 Linux 上开发,或者将其与使用 Gradle 的自定义构建自动化一起使用。请参阅 使用 Kanzi 进行 Android 应用程序开发的要求。

    该软件包包括 Freetype 和 Monotype 的 iType 的库,并要求您拥有有效的 Monotype 许可证。

文档 (Documentation)

  • 添加了一个教程,帮助您学习如何使用 Code Behind 工作流编写活动程序。请参阅 教程:使用 C++ 代码后台编程活动。

    ../../_images/code-behind-drag-widgets.gif
  • 添加了一个教程,帮助您学习如何应用高斯模糊效果以及在满足条件时如何应用该效果。请参阅 教程:创建高斯模糊效果。

    ../../_images/blur-completed1.gif
  • 更新了帮助您学习如何创建集群指示器的教程。该教程现在展示了如何使用图块图集来制作指示器。

    使用图块图集时,可以通过减少应用程序在运行时必须进行的纹理切换次数来提高应用程序性能,而不是为每个指示器使用单个图像。请参阅 教程:创建集群指示器。

    ../../_images/indicator-full-completed.gif
  • 添加了一个过程,展示如何创建毛玻璃效果。请参阅 创建毛玻璃效果。

    ../../_images/frosted-glass-with-content.png

显著修复

ID

描述 (Description)

区域

385135

在使用2D效果的节点中,设置 Opacity 和 Blend Mode 属性现在可以正常工作。

Kanzi Engine

351666

修复了立方体贴图图像的渲染。您不再需要翻转立方体贴图图像或修改反射即可获得预期结果。此修复还使您能够将同一图像用作单一纹理和立方体贴图纹理。请参阅 Kanzi 3.9.1 migration guide。

Kanzi Studio

388168

修复了使用 Kotlin 时创建整数 PropertyType 实例和其他元数据的问题。PropertyType 现在支持整数和浮点数的装箱和拆箱版本。请参阅 使用 Java 和 Kotlin。

Kanzi Android framework (droidfw)

393023

修复了在 PerspectiveTransformation 属性设置时 Kanzi Android framework (droidfw) 中节点的渲染。

Kanzi Android framework (droidfw)

另请参阅

Kanzi 3.9.1 迁移指南

已知问题