用代码编写动画最自由,只要是可以控制的属性均可以用代码方式实现动画:如位置,大小,背景色,文字颜色,透明度,线的组细等
1.放入一个控件
此处以【文字】控件为例,右键查看源代码

2.让控件的x坐标从0到500循环运行,每个循环为10000毫秒
2.1写一个动画的回调函数
static void valuecb(void* obj, int32_t v) {
STTWidget* widget = (STTWidget*)obj;
widget->setX(v);//X坐标不停的变化
}
2.2在onLoad方法中启动动画
onLoad方法:在页面加载完成后执行
//wMLabel6为上面放入的控件ID,修改成你的控件id
wMLabel6->getStyle()->p_anim->doAnim(wMLabel6, 0, 500, 10000, valuecb, NULL);

2.3代码截图如下

3.运行
------------------------------------注意线-------------------------------------
一个控件可多个动画并行执行,如增加y方向从0到100变化,增加后的代码如下
static void valuecb(void* obj, int32_t v) {STTWidget* widget = (STTWidget*)obj;widget->setX(v);//X坐标不停的变化}static void valuecb2(void* obj, int32_t v) {STTWidget* widget = (STTWidget*)obj;widget->setY(v);//Y坐标不停的变化}void Frm01::onLoad(){wMLabel6->getStyle()->p_anim->doAnim(wMLabel6, 0, 500, 10000, valuecb, NULL);wMLabel6->getStyle()->p_anim->doAnim(wMLabel6, 0, 100, 10000, valuecb2, NULL);}