同步操作将从 OpenHarmony/docs 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
A UI animator is implemented by calling the callback function you set for each tick using the task processing mechanism. The following classes are provided for you to implement an animator:
Table 1 Available functions for an animator
Represents the animator callback. You can implement your own logic in this callback. |
||
Called after the animator stops. You can implement your own logic in this callback. |
||
Implement the callback in AnimatorCallback.
class AnimatorCallbackDemo : public OHOS::AnimatorCallback {
public:
AnimatorCallbackDemo(int16_t startPos, int16_t endPos, uint16_t time)
: start_(startPos), end_(endPos), time_(time), curTime_(0) {}
virtual void Callback(OHOS::UIView* view)
{
curTime_++;
int16_t pos = EasingEquation::CubicEaseIn(start_, end_, curTime_, time_);
view->Invalidate();
view->SetPosition(pos, view->GetY());
view->Invalidate();
}
protected:
int16_t start_;
int16_t end_;
uint16_t time_;
uint16_t curTime_;
};
Register AnimatorCallback to the animator.
UIImageView* image = new UIImageView();
image->SetSrc("..\\config\\images\\A021_001.bin");
image->SetPosition(0, 50);
AnimatorCallbackDemo* callback = new AnimatorCallbackDemo(0, 338, 60);
Animator* animator = new Animator(callback, image, 0, true);
Add the animator to AnimatorManager.
AnimatorManager::GetInstance()->Add(animator);
Click the buttons in the lower part of the following figure to verify that the animation effects are as expected.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。