1

アニメーションがフェードインしていて、すべてを試した後、アプリがクラッシュしたために使用できないTimerか、TimerTask正しく表示されないようです。5秒後、ボタンを表示するか、5秒後にフェードインします。どうすればこれを達成できますか?

これが私のコードです:

   ImageButton hit = (ImageButton) findViewById(R.id.tryButton2);
   final Animation animationFadeIn = AnimationUtils.loadAnimation(this, R.anim.fadein);
   hit.startAnimation(animationFadeIn);

ハンドラーは機能しません。フェードせずに表示するだけです。

4

1 に答える 1

0

これが役立つことを願っています!

hit.setVisibility(View.GONE); 
animationFadeIn.setStartOffset(5000);
animationFadeIn.setAnimationListener(new AnimationListener() {

     @Override
     public void onAnimationStart(Animation animation) {
        hit.setVisibility(View.VISIBLE);
     }

     @Override
     public void onAnimationRepeat(Animation animation) {
        // Nothing to do here
     }

     @Override
     public void onAnimationEnd(Animation animation) {
        // Nothing to do here
     }
  });
hit.startAnimation(animationFadeIn);

編集: ここでは、ボタンのクリックを有効/無効にする非常に高速で簡単な方法があります:ブール変数を使用できます:

private boolean hasClicked = false

これを OnClickListener に追加します。

if(!hasClicked) {
    hasClicked = true;
    // call your animate method
}

ここで、ボタンを再度「有効」にする必要があります。AnimationListener @Override public void onAnimationEnd(Animation animation) { hasClicked = false; でこれを行う必要があります。}

役に立った場合は、賛成票を忘れないでください:)

于 2012-04-27T22:29:10.250 に答える