onClick 动画不起作用? (图书馆)
onClick Animating not working? (Library)
今天是我第一次尝试,在我的 Android 项目中实现一个库,我选择了这个 Android View Animation 库,它非常好,它适用于 onCreate,但如果我想要将它实现到我的按钮上,动画实际上没有播放。有什么问题?
这是我的代码:
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
YoYo.with(Techniques.ZoomIn)
.duration(700)
.playOn(findViewById(R.id.button));
input.setText(null);
Intent intent = new Intent(this, Szabaly.class);
startActivity(intent);
break;
我想你没有意识到 "playOn" 方法是异步的。这意味着下一行代码将在这个方法之后立即执行,而不是等到动画完成。
所以继续这个代码:
YoYo.with(Techniques.ZoomIn).duration(700).withListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {}
@Override
public void onAnimationEnd(Animator animation) {
input.setText(null);
Intent intent = new Intent(this, Szabaly.class);
startActivity(intent);
}
@Override
public void onAnimationCancel(Animator animation) {}
@Override
public void onAnimationRepeat(Animator animation) {}
}).playOn(findViewById(R.id.button));
今天是我第一次尝试,在我的 Android 项目中实现一个库,我选择了这个 Android View Animation 库,它非常好,它适用于 onCreate,但如果我想要将它实现到我的按钮上,动画实际上没有播放。有什么问题?
这是我的代码:
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
YoYo.with(Techniques.ZoomIn)
.duration(700)
.playOn(findViewById(R.id.button));
input.setText(null);
Intent intent = new Intent(this, Szabaly.class);
startActivity(intent);
break;
我想你没有意识到 "playOn" 方法是异步的。这意味着下一行代码将在这个方法之后立即执行,而不是等到动画完成。
所以继续这个代码:
YoYo.with(Techniques.ZoomIn).duration(700).withListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {}
@Override
public void onAnimationEnd(Animator animation) {
input.setText(null);
Intent intent = new Intent(this, Szabaly.class);
startActivity(intent);
}
@Override
public void onAnimationCancel(Animator animation) {}
@Override
public void onAnimationRepeat(Animator animation) {}
}).playOn(findViewById(R.id.button));