Android - 无法实现 ValueAnimator

Android - Unable to implement ValueAnimator

我正在尝试使用 ValueAnimator class 为 ImageView 制作动画。但是,ValueAnimator class 的 official documentation 没有包含足够的详细信息(至少对于初学者而言)。我希望 ImageView 在单击 Button 时向右移动(翻译动画)。我正在使用以下代码但没有使用。

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.widget.Button;
import android.widget.ImageView;
import android.animation.ValueAnimator;


public class TestActivity extends ActionBarActivity {

    private ImageView image;
    private Button animateButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test);

        image = (ImageView) findViewById(R.id.imageView);
        animateButton = (Button) findViewById(R.id.button);

        final ValueAnimator animator = ValueAnimator.ofInt(0, 100);
        animator.setTarget(android);

        animateButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                animator.start();
            }
        });
    }
}

当我点击 "Animate" 按钮时,没有动画发生,图像保持原样。我只是想不通如何使它正常工作。非常感谢有关此问题的任何帮助。

提前致谢。

However, the official documentation for the ValueAnimator class does not contain enough details(at least, for beginners).

你可能错过的key bit是:

[Using a plain ValueAnimator], however, has no real effect on an object, because the ValueAnimator does not operate on objects or properties directly.

将您的 ValueAnimator 更改为 属性 动画师:

ObjectAnimator animator = ObjectAnimator.ofFloat(image, "x", 0f, 100f);

并删除 setTarget() 行。

或者,使用更简单的语法:

image.animate().x(100f);