如果我尝试在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()
没有。
有什么问题?感谢。
答案 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();
}
});