gpt4 book ai didi

java - 方法内的动画监听器

转载 作者:行者123 更新时间:2023-12-01 10:29:41 25 4
gpt4 key购买 nike

我正在处理一个较旧的项目,现在我有点陷入困境。

我在一个布局上有 9 个按钮,它们都连接到调用其 Intents 的方法。像这样..按钮1

public void button1_click(View view){
Intent intent = new Intent(getApplicationContext(), Btn1.class);
startActivity(intent);
}

现在几年后,我想实现一个简单的动画,其中按钮将执行某些操作(动画是什么,它无关紧要)。

现在在我的动画方法中 - startAnimation

private void startAnimation(final View view){
final Animation wigle = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.zoom_in);
view.startAnimation(wigle);
wigle.setAnimationListener(new AnimationListener() {

@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub

}

@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub

}

@Override
public void onAnimationEnd(Animation animation) {


}
});

}

我想等待动画完成,然后开始我的 Intent 。

使用此方法的按钮 1 看起来像

public void button1_click(View view){
startAnimation(view);
Intent intent = new Intent(getApplicationContext(), Btn1.class);
startActivity(intent);
}

但是我的应用程序启动动画,然后启动Intent。我应该实现什么才能不对所有按钮实现 setAnimationListener

最佳答案

试试这个方法

 private void startAnimation(final View view){
final Animation wigle = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.zoom_in);
view.startAnimation(wigle);
wigle.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {}
@Override
public void onAnimationRepeat(Animation animation) {}
@Override
public void onAnimationEnd(Animation animation) {
Intent intent;
switch (view.getId()){
case R.id.btn1_id:
intent = new Intent(getApplicationContext(), Btn1.class);
startActivity(intent);
break;
case R.id.btn2_id:
intent = new Intent(getApplicationContext(), Btn2.class);
startActivity(intent);
break;
.......
............
......
}
}
});

}

使用方法作为

public void button1_click(View view){
startAnimation(view);
disableAllButtons();
}

关于java - 方法内的动画监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35154861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com