android按钮动画。如何在活动前点击动画,先获得动画

时间:2017-01-09 01:54:09

标签: java android animation

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

3 个答案:

答案 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;
            }
        }