数值动画如何设置后固定在原地或者继续移动?

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ui-java-animation-0000000000580278

官方文档中数值动画部分,动画每次启动都是从一个地方开始。

下面的是官方文档代码部分

 

声明AnimatorValue

AnimatorValue animatorValue = new AnimatorValue();

使用数值动画。设置变化属性。

animatorValue.setDuration(2000);
animatorValue.setDelay(1000);
animatorValue.setLoopedCount(2);
animatorValue.setCurveType(Animator.CurveType.BOUNCE);

添加回调事件。

animatorValue.setValueUpdateListener(new AnimatorValue.ValueUpdateListener() {
    @Override
    public void onUpdate(AnimatorValue animatorValue, float value) {
        button.setContentPosition((int) (800 * value), button.getContentPositionY());
    }
});

启动动画或对动画做其他操作。

animatorValue.start();

 

我的意思是官方文档这个动画永远都是从A移动一定的距离到B,然后下一次动画再重复这个过程。

如何做到从A到B,第二次从B到C ?

鸿蒙
2021-04-02 23:35:51
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
九丘教育

AnimatorValue animatorValue1 = new AnimatorValue();

animatorValue1.setDuration(2000);
animatorValue1.setLoopedCount(0);
animatorValue1.setCurveType(Animator.CurveType.BOUNCE);

animatorValue1.setValueUpdateListener(new AnimatorValue.ValueUpdateListener() {
    @Override
    public void onUpdate(AnimatorValue animatorValue, float value) {
        text.setContentPosition((int) (300 * value), text.getContentPositionY());
    }
});

animatorValue1.start();

try {
    Thread.currentThread().sleep(2000);
} catch (InterruptedException e) {
    e.printStackTrace();
}

AnimatorValue animatorValue2 = new AnimatorValue();

animatorValue2.setDuration(3000);
animatorValue2.setDelay(3000);
animatorValue2.setLoopedCount(0);
animatorValue2.setCurveType(Animator.CurveType.BOUNCE);

animatorValue2.setValueUpdateListener(new AnimatorValue.ValueUpdateListener() {
    @Override
    public void onUpdate(AnimatorValue animatorValue, float value) {
        text.setContentPosition(300 + (int) (500 * value), text.getContentPositionY());
    }
});

animatorValue2.start();

分享
微博
QQ
微信
回复1
2021-04-03 10:35:53
相关问题
如何获取系统屏幕固定
739浏览 • 0回复 待解决
请问如何去掉ability的转场动画
8447浏览 • 2回复 待解决
求教ArkUI如何实现组合动画
2375浏览 • 1回复 待解决
鸿蒙如何实现动画值变化
6402浏览 • 1回复 待解决
服务卡片的进度条如何停止动画
5864浏览 • 1回复 待解决
关于属性动画的问题?
7598浏览 • 3回复 待解决
动画如何做渲染一次不消失
4440浏览 • 1回复 待解决
鸿蒙里面有alpha动画
4359浏览 • 1回复 已解决
移动边缘计算的基本想法是怎样的?
1356浏览 • 1回复 待解决
鸿蒙中怎么实现动画翻转效果
7558浏览 • 2回复 待解决
分布式如何读写图库图片或者视频?
2175浏览 • 1回复 待解决
PolarDB删除如何找回 ?
284浏览 • 1回复 待解决
救命,鸿蒙怎么写动画
3635浏览 • 2回复 待解决
WebView如何设置文字大小?
4067浏览 • 3回复 待解决
鸿蒙-如何打开跳转GPS设置页面
12974浏览 • 1回复 待解决