Kanzi 3.9.2 迁移指南¶
使用此迁移指南将 Kanzi 应用程序从 Kanzi 3.9.1 更新到 Kanzi 3.9.2。
Java 8¶
Kanzi Android framework (droidfw) 和 Kanzi Java API 现在需要 Java 8 (1.8) 或更高版本。
在您的应用程序的 Gradle 文件中,确保将 Java 语言版本设置为兼容版本。例如,在 app/build.gradle 中设置:
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
Kanzi Java API 中的更改¶
删除了需要您将关联类作为参数传递的
Metaclass构造函数重载。Kanzi 会根据Metaclass实例的初始化位置自动推断类。将您的
Metaclass初始化从class MyClassName { public static final Metaclass metaclass = new Metaclass("Example.MyClassName", MyClassName.class);
至 (To)
class MyClassName { public static final Metaclass metaclass = new Metaclass("Example.MyClassName");
Optional*类系列不再使用,已被移除。Matrix4x4.getRotationAngle()现在返回一个可为空的Vector3,而不是OptionalVector3。Matrix4x4.createLookAtMatrix()现在返回一个可为空的Matrix4x4,而不是OptionalMatrix4x4。
焦点处理中的更改¶
Kanzi 3.9.2 在焦点处理 API 中引入了以下更改:
Kanzi 3.9.1 |
Kanzi 3.9.2 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FocusManager::ScopeBroughtToFrontMessageArguments |
FocusManager::OverlayBroughtToFrontMessageArguments |
|
|
|
|
|
已移除了 |
|
已移除了 |
|
已移除了 |
|
已移除了 |
|
已移除了 |
|
已移除了 |
|
已移除了 |
|
已移除了 |
|
已移除了 |
|
|
|
|
|
|
要迁移到 Kanzi 3.9.2,您使用早期版本的 Kanzi 创建的包含弹出类型焦点范围的 Kanzi Studio 项目:
Bring Scope To Front 和 Send Scope To Back 操作不再存在。将无效操作替换为设置焦点范围可见性的 Set Property 操作。
要通过在覆盖层外部的触摸输出关闭覆盖层,使用 Input Outside Overlay 触发器和 Set Property 动作来隐藏覆盖层。
请参阅 创建叠加层。
要将您使用 Kanzi 3.9.1 创建并使用 Contains Focus 属性的 Kanzi Studio 项目迁移到 Kanzi 3.9.2,请改用 Focus State 属性。请参阅 表明用户界面元素何时具有焦点。
类元数据中的更改¶
在类
InputManipulator::InputMessageArguments中重命名了这些属性:Kanzi 3.9.1
Kanzi 3.9.2
InputMessageArguments.Manipulator.PointInputManipulator.InputMessageArguments.ManipulatorPointInputMessageArguments.Manipulator.RayOriginInputManipulator.InputMessageArguments.ManipulatorRayOriginInputMessageArguments.Manipulator.RayDirectionInputManipulator.InputMessageArguments.ManipulatorRayDirectionInputMessageArguments.HitTest.PointInputManipulator.InputMessageArguments.HitTestPointInputMessageArguments.HitTest.RayOriginInputManipulator.InputMessageArguments.HitTestRayOriginInputMessageArguments.HitTest.RayDirectionInputManipulator.InputMessageArguments.HitTestRayDirectionInputMessageArguments.HitTest.ObjectInputManipulator.InputMessageArguments.HitTestObject在
StateManager中重命名了这些 MessageArgument 元类:Kanzi 3.9.1
Kanzi 3.9.2
Message.StateManager.MessageArgumentsMessage.StateManagerMessageArgumentsMessage.StateManagerStateChange.MessageArgumentsMessage.StateManagerStateChangeMessageArgumentsMessage.StateManagerGoToState.MessageArgumentsMessage.StateManagerGoToStateMessageArgumentsMessage.StateManagerGoToDefinedState.MessageArgumentsMessage.StateManagerGoToDefinedStateMessageArgumentsMessage.StateManagerGoToNextDefinedState.MessageArgumentsMessage.StateManagerGoToNextDefinedStateMessageArgumentsMessage.StateManagerGoToPreviousDefinedState.MessageArgumentsMessage.StateManagerGoToPreviousDefinedStateMessageArgumentsMessage.StateManagerEnteredState.MessageArgumentsMessage.StateManagerEnteredStateMessageArgumentsMessage.StateManagerLeftState.MessageArgumentsMessage.StateManagerLeftStateMessageArgumentsMessage.StateManagerTransition.MessageArgumentsMessage.StateManagerTransitionMessageArgumentsMessage.StateManagerTransitionStarted.MessageArgumentsMessage.StateManagerTransitionStartedMessageArgumentsMessage.StateManagerTransitionFinished.MessageArgumentsMessage.StateManagerTransitionFinishedMessageArguments