-1

このコードを使用して、画像ボックスをクリックし、別のオブジェクトでアニメーションを実行し、visibility.GONE を介してそれ自体を無効にします。しかし、それは動作しません!! ここに私のコードがあります:

againbtn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            //answer button on animation
            Animation anim2 = AnimationUtils.loadAnimation(MainActivity.this, R.anim.askbtnonanim);
            anim2.setFillAfter(true);
            askbtn.startAnimation(anim2);

            //gone myselft (againbtn)
            againbtn.setVisibility(View.GONE);
        }
    });

このコードから 3 つのアニメーション行を削除すると、すべて問題なく機能しますが、現在は機能しません。しかし、なぜ?anim2.setFillAfter(true); に関連しています。??? 私のアニメーションは一度実行され、リセットされないので、これを置きます! 私を助けてください

4

5 に答える 5

4

これを試してくださいビューアニメーションをクリアする必要があり、次にsetVisibilityを実行できます

animation.setAnimationListener(new Animation.AnimationListener() {

@Override
public void onAnimationStart(Animation animation) {}

@Override
public void onAnimationEnd(Animation animation) {
view.clearAnimation();
view.setVisibility(View.GONE);
}

@Override
public void onAnimationRepeat(Animation animation) {}
            });

于 2015-12-30T23:01:18.530 に答える
2

アニメーション リスナーを実装し、onAnimationEnd() でタスクを実行する必要があります...以下のコードが役立つことを願っています...

anim2.setAnimationListener(new Animation.AnimationListener(){
    @Override
    public void onAnimationStart(Animation arg0) {
    }           

    @Override
    public void onAnimationRepeat(Animation arg0) {
    }           

    @Override
    public void onAnimationEnd(Animation arg0) {
        againbtn.setVisibility(View.GONE);  //set your button visibility here
    }


});
于 2013-03-29T05:35:57.090 に答える
0

View.INVISIBLE または GONE を呼び出す前に、アニメーションを実行しているビューで clearAnimation() を呼び出すと、うまくいきます。

于 2013-08-12T18:47:27.200 に答える
0

アニメーションコーディングの前に表示ボタンを配置すると、これが機能する可能性があると思います

 againbtn.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
//gone myselft (againbtn)
        againbtn.setVisibility(View.GONE);
        //answer button on animation
   Animation anim2 = AnimationUtils.loadAnimation(MainActivity.this,           R.anim.askbtnonanim);
         anim2.setFillAfter(true);
        askbtn.startAnimation(anim2);


    }
});
于 2013-03-29T07:36:40.667 に答える
-1

アニメーション終了時のボタンの可視性を設定するには、 AnimationListenerを使用します。GONE

.....
anim2.setAnimationListener(animButnListener);
askbtn.startAnimation(anim2);
AnimationListener animButnListener = new AnimationListener(){
  @Override
  public void onAnimationEnd(Animation animation) {

   // make  Button Visibility GONE  here
    againbtn.setVisibility(View.GONE);
  }
  //.......other AnimationListener methods
};
于 2013-03-29T05:36:05.313 に答える