android - 动画搜索栏进度

标签 android animation seekbar

我有一个带有 4 个搜索栏的屏幕(如下图所示)。如果用户移动 B、C 或 D,我计算三者的平均值并将 A 的 setProgress 设置为平均值。那是容易的部分。我想做的是为进度条 A 设置动画,使其不会一次跳转(例如从 25-75 )。

为 A 制作动画的推荐方法是什么?我得到了一个简单的动画,但我每 50 毫秒调用一次 TimerTask 以将 A 递增或递减一个单位值,直到我到达所需的位置。但效率不高。

注意:我有一个自定义的 Seekbar 对象,我使用它创建了 seekBar 的 A、B、C 和 D。抱歉,我不能真正分享代码,但很乐意澄清任何事情。

enter image description here

最佳答案

我想已经太晚了。但我找到了一种使用 ValueAnimator 实现此目的的方法。

ValueAnimator anim = ValueAnimator.ofInt(0, seekBar.getMax());
anim.setDuration(1000);
anim.addUpdateListener(new AnimatorUpdateListener() {
    @Override
    public void onAnimationUpdate(ValueAnimator animation) {
    int animProgress = (Integer) animation.getAnimatedValue();
    seekBar.setProgress(animProgress);
    }
});
anim.start();

关于android - 动画搜索栏进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6243508/

相关文章:

android - 将 Firebase 与我们的服务器集成以通过 Android 发送通知

android - 无法在 Android 设备监视器中展开 'data' 文件夹

android - 如何向我的移动应用程序添加高级动画?

android seekbar progressdrawable : background bitmap doesnt stretch (height)

android - 使用搜索栏在 ImageView 中放大/缩小效果

Android M Preview 3 模拟器 native 浏览器崩溃

android - 如何从android中的 native 代码中查找内存泄漏

Android 是否可以使用并发插值器?

java - SplashScreen java 更改 alpha

c# - 仅当用户更改值时才会发生的 WPF Slider 事件