C
Qt Quick Ultralite中的重要概念 - 状态、转换和动画
在任何现代用户界面中,状态间的转换和界面的动画化是非常有益的。这些是 Qt Quick Ultralite 中的第一级概念。
此页介绍了状态、状态转换和属性动画的概念。它详细说明了哪些概念是重要的,为什么,以及这些概念是如何相互关联的。它还提供了有关 Qt Quick Ultralite 提供的 QML 类型以实现这些概念的深入链接。
状态
特定视觉项目的状态是一组描述如何以及在哪里在项目中显示各个视觉效果组件的信息,以及与该状态相关的所有数据。用户界面中的大多数视觉项目将具有有限数量的状态,每个状态都有定义良好的属性。
例如,列表中的一个元素可以是选中的或未选中,如果选中,它可以是当前活动单选或选择组的一部分。
这些状态中每个都可能具有某些关联的视觉外观(中性、突出显示、展开等等)。
Qt Quick Ultralite 提供了一个状态类型,它具有定义其语义的属性,可以用于触发行为或动画。有关更多信息,请参阅关于使用状态的文档。
转换
当视觉项从一个状态转换到另一个状态时,该项的外观将发生变化。转换是两个状态之间的“边缘”。它可能触发其他事件发生,因为其他应用程序部分可能在进入或离开某个状态时触发行为。
Qt Quick 提供了转换类型,该类型具有定义从一种状态转换到另一种状态时将发生什么的属性。有关转换的更多信息,请参阅关于状态变化期间的转换的文档。
动画
在状态间转换时,可以使用流畅的动画来帮助用户在转换过程中。视觉画布的突兀和意外变化会导致用户体验不佳,应避免。
如果列表中的一个元素变成了选中状态,其颜色变化(从中性到突出显示)可以动画化。如果列表中元素的位置发生变化,它可以以流畅的动作移动,以便用户可以跟踪变化。
Qt Quick Ultralite支持多种动画和过渡类型,以实现这些类型的动画。有关这些类型及其使用方法的更多信息,请参阅动画和过渡的文档。
动画属性分配
动画不仅仅与状态之间的转换相关。例如,动画可能由其他事件触发,这些事件与特定状态无关。
始终对可视元素的一些属性的变化进行动画处理通常是有益的,无论变化的原因是什么(例如,不透明度效果)。Qt Quick Ultralite提供了Behavior类型,允许客户端指定属性变化时的动画行为。
有关使用Behavior类型在属性变化时进行动画的更多信息,请参阅默认属性动画。
精灵动画
Qt Quick Ultralite提供了AnimatedSprite类型来绘制精灵,但与Qt Quick版本相比有一些限制。它还提供了AnimatedSpriteDirectory类型,允许您使用包含许多资源的目录,而不是单个大图像。要使用目录中的资源进行精灵动画,请在您的qmlproject
中使用ImageFiles.MCU.resourceAnimatedSprite进行标记。标记此类资源将启用Qt Quick Ultralite Tools在编译时找到它们。
在某些Qt许可证下可用。
了解更多信息。