ObjectAnimator在onLoadFinished中不起作用

时间:2014-05-15 07:08:17

标签: android android-animation

我在片段中使用加载器,当加载完成后,我重新设置列表适配器的数据并使用ObjectAnimator开始动画。

我在onLoadFinished(Loader加载器,XXX数据)中编写了ObjectAnimator。

        final ObjectAnimator anim = ObjectAnimator.ofInt(new AnimatedPointView(mTextView), "point", oldPoint, data.getPointBalance());
        anim.setEvaluator(new TypeEvaluator<Integer>() {
            @Override
            public Integer evaluate(float fraction, Integer startValue, Integer endValue) {
                if (BuildConfig.DEBUG) Ln.d("start="+startValue+", end="+endValue+", fraction="+fraction);
                return startValue + Math.round(fraction * (endValue - startValue));
            }
        });
        anim.setInterpolator(new LinearInterpolator());
        anim.setDuration(5000);

但这不起作用,评估被调用两次,分数只有1.0f。

main start=113, end=103, fraction=1.0
main start=113, end=103, fraction=1.0

此动画代码适用于空白活动的onCreate。

任何建议和帮助都将不胜感激。

我为此添加了完整的示例代码。

https://github.com/sh1nj1/android-test/blob/master/app/src/main/java/com/example/testandroid/app/MainActivity.java

如果我使用NineOldAndroids库,则不会发生这种情况。 这不仅发生在onLoadFinished方法中,而且发生在OnClickListner#onClick等其他地方。

0 个答案:

没有答案