OnClick内的动画视图

时间:2015-08-17 00:35:35

标签: java android onclick

如果我尝试在view内设置OnClick动画,则它无效:

myImageView.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View view) {

        view.setAlpha(0.5f); //This works

        view.animate().scaleX(0.5f).setDuration(300).setInterpolator(
            new BounceInterpolator()).withLayer(); //This doesn't work
    }
});

在此代码中,setAlpha正常运行,但animate()没有。

有什么问题?感谢。

2 个答案:

答案 0 :(得分:0)

首先,您从未在已设置的动画上调用start()。仅仅调用animate() - 仅为您提供该视图的ViewPropertyAnimator是不够的 - 您还必须启动它。

view.animate()
        .scaleX(0.5f)
        ...
        .start();

其次,请注意,在第一次点击后,任何进一步的点击都不会显示任何内容,因为您动画的属性已经达到了所需的最终值。

答案 1 :(得分:0)

试试这个:

myImageView.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View view) {
        mImageView.animate().setAlpha(0.5f).scaleX(0.5f).setDuration(300).setInterpolator(
            new BounceInterpolator()).start();
    }
});