我为Android制作了一个按钮旋转的按钮,但是当我设置一个按钮和新活动时,当我点击它时,只是将我设置为新活动。
我需要这样:当我点击该按钮时,首先要做动画,例如旋转,然后执行新活动。这是我的代码:
ImageButton pandaButton2 = (ImageButton) findViewById(R.id.pandaButton2);
pandaButton2.setOnClickListener(new OnClickListener(){
public void onClick(View v){
v.startAnimation(pandarotate);
startActivity(new Intent("com.example.threepandas.MENU"));
}
});
答案 0 :(得分:0)
完成animation listener
后,您可以设置animation
activity
。
请参阅this link
示例代码(必须根据您的目的更新):
ImageButton pandaButton2 = (ImageButton) findViewById(R.id.pandaButton2);
pandaButton2.setOnClickListener(new OnClickListener(){
public void onClick(View v){
v.startAnimation(pandarotate);
}
});
pandarotate.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
startActivity(new Intent("com.example.threepandas.MENU"));
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
答案 1 :(得分:0)
在动画开始后和活动开始之前插入动画长度的延迟
try {
Thread.sleep(1000); //1000 milliseconds is one second.
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
答案 2 :(得分:0)
以下是我用于此问题的解决方案(通过Github上的Google I / O应用源代码获取)
private static final int DELAY = 250;
private Handler mHandler;
@Override
public void onClick(final View view) {
switch (view.getId()) {
case R.id.button:
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
}
}, DELAY);
break;
}
}