簡體   English   中英

動畫后如何隱藏TextView

[英]How to hide textview after animation

我想單擊Button ,它將顯示TextView可見(執行向下滑動動畫),然后再次單擊按鈕將執行另一個動畫(向下滑動)。 之后,無需顯示TextView
我如何解決它?
請任何人有一個答案來幫助我。

bclickss.setOnClickListener(new View.OnClickListener() {
        boolean visible;
        @Override
        public void onClick(View v) {
            if( visible = !visible) {
            tv2.setVisibility(visible ? View.VISIBLE : View.GONE);
            Animation anim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_down);
            tv2.startAnimation(anim);
                }
            else {
                Animation anim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_up);
                tv2.startAnimation(anim);
                tv2.setVisibility(View.GONE);
            }
            }
    });

startAnimation之前使用它

if (tv2.animation != null) tv2.animation.setAnimationListener(null)//needed not in all cases
tv2.clearAnimation()

anim.setAnimationListener(new Animation.AnimationListener() {
    @Override
    public void onAnimationStart(Animation animation) {
        tv2.setVisibility(View.VISIBLE);
    }
    @Override
    public void onAnimationEnd(Animation animation) {
      tv2.setVisibility(View.GONE);
    }
    @Override
    public void onAnimationRepeat(Animation animation) {}
  });
  tv2.startAnimation(anim);

在第二個動畫中,您需要這樣的內容:

if (tv2.animation != null) tv2.animation.setAnimationListener(null)//needed not in all cases
tv2.clearAnimation()

anim.setAnimationListener(new Animation.AnimationListener() {
    @Override
    public void onAnimationStart(Animation animation) {
      tv2.setVisibility(View.VISIBLE);
    }
    @Override
    public void onAnimationEnd(Animation animation) {
    }
    @Override
    public void onAnimationRepeat(Animation animation) {}
  });
  tv2.startAnimation(anim);
try this:
   //You can add Animation listener to your animation object like

    anim .setAnimationListener(new Animation.AnimationListener(){
        @Override
        public void onAnimationStart(Animation arg0) {
        }
        @Override
        public void onAnimationRepeat(Animation arg0) {
        }
        @Override
        public void onAnimationEnd(Animation arg0) {

     tv2.setVisibility(View.GONE);

        }
    });

在將可見性設置為clearAnimation之前,您應該使用View.GONE

anim .setAnimationListener(new Animation.AnimationListener(){
    @Override
    public void onAnimationStart(Animation arg0) {
    }
    @Override
    public void onAnimationRepeat(Animation arg0) {
    }
    @Override
    public void onAnimationEnd(Animation arg0) {
         tv2.clearAnimation();
         tv2.setVisibility(View.GONE);

    }
});

我也有同樣的問題。 請遵循以下幾行:

Animation slide_up = AnimationUtils.loadAnimation(this, R.anim.slide_up);
Animation slide_down = AnimationUtils.loadAnimation(this, R.anim.slide_down);

使視圖可見:

 view.setVisibility(View.VISIBLE);
 view.startAnimation(slide_down);

隱藏它:

view.startAnimation(slide_up);
view.setVisibility(View.GONE);

如果可行,請接受答案。

我建議您使用YOYO Animation lib for android。 它提供了豐富的動畫以及回調方法,因此一旦動畫在回調中完成,您就可以隱藏textview

在這里檢查

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM