安卓按钮动画.如何先获取动画,在活动之前单击



我为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"));
}
});

您可以设置animation listener,完成后animation开始activity。请参考此链接

示例代码(必须根据您的目的进行更新):

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) {
            }
        });

在动画开始之后和活动开始之前插入动画长度的延迟

try {
    Thread.sleep(1000);                 //1000 milliseconds is one second.
} catch(InterruptedException ex) {
    Thread.currentThread().interrupt();
}
这是我

用于解决此问题的解决方案(从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;
            }
        }

最新更新