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

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
相关问题
如何全局设置页面转场动画
370浏览 • 1回复 待解决
HarmonyOS中的window怎么设置固定宽高
843浏览 • 1回复 待解决
动画lottie能否设置播放次数
852浏览 • 1回复 待解决
如何获取系统屏幕固定
2500浏览 • 0回复 待解决
如何在鸿蒙移动端引入坐标图?
940浏览 • 1回复 待解决
如何判断移动流量热点网络
747浏览 • 1回复 待解决
半模态转场如何控制固定高度
757浏览 • 1回复 待解决
属性动画如何实现宽高动画效果
793浏览 • 1回复 待解决
如何拿到文本框文字的宽度数值
27浏览 • 1回复 待解决
animateTo动画如何暂停
410浏览 • 1回复 待解决
如何固定半模态转场的高度
28浏览 • 1回复 待解决
如何使用弹簧动画曲线
215浏览 • 1回复 待解决
animateTo动画如何直接停止
1069浏览 • 1回复 待解决
如何固定应用窗口大小并居中展示
901浏览 • 1回复 待解决
lottile动画如何切圆角
506浏览 • 0回复 待解决