[教程]QAnimation 使用教程之一:为 TPageControl 切换加入动画效果

首先,VCL 的 TPageControl 是没有切入切出动画的,所以,这里要做的是给 VCL 的 TPageControl 做动画支持。当然,虽然咱们说的是 QAnimation 教程,但关注的重点不是 QAnimation,而是如何给 TPageControl 添加动画效果,QAnimation 只是一个动画控制器而已,你完全可以用自己的 Timer 来替代。

第一步:当然是为 PageControl 创建 N 个 TabSheet 页面,这一步我们省略说明。

第二步:加入动画控制代码。

  1. 引用 qdac_ani 单元,或者在界面上加上你的 Timer,然后在你的 Timer 的 OnTimer 事件中处理动画。
  2. 我这个 Demo 是要求不断的切换,类似网页上常见的 slider 效果,所以我在 FormCreate 事件中添加处理代码:

    QAnimation 提供了一个 CreateXXAnimation 的一组接口函数,方便创建不同类型的动画。因为这个控制操作相对复杂一些,所以我直接用了 CreateAnimation,自己去实现对页面属性的控制。然后上面的动画控制参数都有说明,我就不缀述,自己看下就好。重点大家关注下对页面切换的处理,在我们开始切入新页时,要将新页的 Align 设置为 alNone,否是你调整坐标是动不起来的,然后还需要将要新页给提到最前显示,否则在后边用户也看不到,对不对?至于动画过程中,实际上就是直接调整的顶部的坐标,然后实现的动画方式是弹跳的效果。看一下实际运行的效果:

    QAnimation 提供的额外动画控制单元包含下面的函数,见名知义,不做多说:

第三步:编译运行程序。

另外,QAnimation 不是免费的,价格暂定 99 元,FMX+VCL 同时支持,也就是说一套代码。你可以认为它是 FMX.Ani 的增强版,如果心疼的话,直接自己参考 FMX.Ani 单元写下就好。

分享到:

评论已关闭。