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

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
相关问题
HarmonyOS 固定宽高比怎么设置
310浏览 • 2回复 待解决
如何全局设置页面转场动画
657浏览 • 1回复 待解决
HarmonyOS中的window怎么设置固定宽高
1701浏览 • 1回复 待解决
如何获取系统屏幕固定
3816浏览 • 0回复 待解决
动画lottie能否设置播放次数
1943浏览 • 1回复 待解决
如何判断移动流量热点网络
1665浏览 • 1回复 待解决
如何拿到文本框文字的宽度数值
335浏览 • 1回复 待解决
如何在鸿蒙移动端引入坐标图?
1704浏览 • 1回复 待解决
半模态转场如何控制固定高度
1833浏览 • 1回复 待解决