4

我的 AsyncTasks 类中有这个工作代码。

protected void onProgressUpdate(Object... values) {
        View view = (View) values[0];
        view_group.addView(view);

        view.animate().y(500).setDuration(1000);
    }

我试图将代码更改为:

protected void onProgressUpdate(Object... values) {
            View view = (View) values[0];
            view_group.addView(view);

            ValueAnimator va = ObjectAnimator.ofInt(view, "y", 500);
            va.setDuration(1000);
            va.start();
            }

视图正在出现,但没有动画。

我错过了什么?

编辑:

我还尝试将 ValueAnimator 代码放在一个AnimatorListener(当然具有不同的坐标)中,因此它将在第一个动画完成后运行,但它不起作用。

4

1 回答 1

6

我错过了什么?

xandyfloat值而不是这样int使用:

ValueAnimator va = ObjectAnimator.ofFloat(view, "y", 500);

或者,如果您的目标是ICS您可以使用:

ValueAnimator va = ObjectAnimator.ofFloat(view, View.Y, 500);
于 2013-08-16T10:20:37.737 回答