你不需要变量
isVisible
,只需检查按钮是否可见。
查看
fadeInAnimation
另外,我更改了两个动画的持续时间,请检查以下代码:
helloButton = findViewById(R.id.helloButton);
toggleButton = findViewById(R.id.toggleButton);
toggleButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (helloButton.getVisibility() == View.GONE) {
AlphaAnimation fadeInAnimation = new AlphaAnimation(0, 1);
fadeInAnimation.setDuration(2500);
fadeInAnimation.setFillAfter(true);
fadeInAnimation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationEnd(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) { }
@Override
public void onAnimationStart(Animation animation) {
helloButton.setVisibility(View.VISIBLE);
}
});
helloButton.startAnimation(fadeInAnimation);
} else {
AlphaAnimation fadeOutAnimation = new AlphaAnimation(1, 0);
fadeOutAnimation.setDuration(2500);
fadeOutAnimation.setFillAfter(true);
fadeOutAnimation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationEnd(Animation animation) {
helloButton.setVisibility(View.GONE);
}
@Override
public void onAnimationRepeat(Animation animation) { }
@Override
public void onAnimationStart(Animation animation) {
}
});
helloButton.startAnimation(fadeOutAnimation);
}
}
});