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

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
相关问题
动画lottie能否设置播放次数
69浏览 • 1回复 待解决
如何获取系统屏幕固定
1557浏览 • 0回复 待解决
如何在鸿蒙移动端引入坐标图?
339浏览 • 1回复 待解决
半模态转场如何控制固定高度
91浏览 • 1回复 待解决
animateTo动画如何直接停止
87浏览 • 1回复 待解决
如何固定应用窗口大小并居中展示
89浏览 • 1回复 待解决
TransitionEffect动画循环播放如何关闭
89浏览 • 1回复 待解决
鸿蒙如何实现动画值变化
7506浏览 • 1回复 待解决
求教ArkUI如何实现组合动画
3596浏览 • 1回复 待解决
请问如何去掉ability的转场动画
9228浏览 • 2回复 待解决
如何定义dialog动画,有人知道吗?
137浏览 • 1回复 待解决
服务卡片的进度条如何停止动画
6717浏览 • 1回复 待解决