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

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
相关问题
鸿蒙如何实现动画值变化
4172浏览 • 1回复 待解决
请问如何去掉ability的转场动画
7135浏览 • 2回复 待解决
服务卡片的进度条如何停止动画
3878浏览 • 1回复 待解决
动画如何做渲染一次不消失
2664浏览 • 1回复 待解决
如何接入微信或者其它支付方式
5962浏览 • 1回复 待解决
WebView如何设置文字大小?
2013浏览 • 3回复 待解决
安卓App或者浏览器如何跳转鸿蒙App
5473浏览 • 1回复 待解决
关于属性动画的问题?
5139浏览 • 3回复 待解决
鸿蒙IndexBar如何设置字体大小?
3522浏览 • 1回复 待解决
OpenHarmony 小型系统如何设置横竖屏
465浏览 • 1回复 待解决
java中如何设置CommonDialog的位置?
1707浏览 • 1回复 待解决
服务卡片java如何设置点击事件
3828浏览 • 1回复 待解决
鸿蒙-如何打开跳转GPS设置页面
10219浏览 • 1回复 待解决
Java Text控件,如何设置字间距?
1449浏览 • 1回复 待解决
鸿蒙-如何打开跳转WLAN设置页面
4692浏览 • 1回复 待解决
鸿蒙里面有alpha动画
3252浏览 • 1回复 已解决
分布式如何读写图库图片或者视频?
833浏览 • 1回复 待解决