View.setVisibility 使用动画后无效 fade_in/out
View.setVisibility not works after use Animation fade_in/out
为什么 mImageView.setVisibility 我用了一个动画就不行了?
我的代码工作正常 (CODE1)...
tbnVisible.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
mImageView.setVisibility(View.VISIBLE);
} else {
mImageView.setVisibility(View.INVISIBLE);
}
}
});
每当我点击 ToggleButton (tbnVisible) 和我的 CODE1 运行 时,我的 ImageVies 就会出现和隐藏。在那之后,我 运行 CODE2 到 运行 一个在同一个视图(mImageView)中淡入淡出的动画。
这是代码2...
btnAlphaAPI.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlphaAnimation fadeOut = new AlphaAnimation(1.0f, 0.0f);
AlphaAnimation fadeIn = new AlphaAnimation(0.0f, 1.0f);
mAlphaAnimation = mFadeOut ? fadeIn : fadeOut;
mAlphaAnimation.setDuration(2000);
mAlphaAnimation.setFillAfter(true);
mImageView.startAnimation(mAlphaAnimation);
mAlphaAnimation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationEnd(Animation animation) {
mFadeOut = !mFadeOut;
}
});
}
});
此代码 运行 也非常完美...直到知道,没关系,问题是当我再次尝试 运行 de CODE1 时。当我单击 ToggleButton (tbnVisible) 时,我的 mImageView 不会发生更多情况。在 运行 CODE2.
之后,只是 CODE1 不再起作用
有人知道发生了什么事吗?
非常感谢
来自 Why doesn't setVisibility work after a view is animated?,您尝试过在视图上使用 clearAnimation
吗?
为什么 mImageView.setVisibility 我用了一个动画就不行了?
我的代码工作正常 (CODE1)...
tbnVisible.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
mImageView.setVisibility(View.VISIBLE);
} else {
mImageView.setVisibility(View.INVISIBLE);
}
}
});
每当我点击 ToggleButton (tbnVisible) 和我的 CODE1 运行 时,我的 ImageVies 就会出现和隐藏。在那之后,我 运行 CODE2 到 运行 一个在同一个视图(mImageView)中淡入淡出的动画。
这是代码2...
btnAlphaAPI.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlphaAnimation fadeOut = new AlphaAnimation(1.0f, 0.0f);
AlphaAnimation fadeIn = new AlphaAnimation(0.0f, 1.0f);
mAlphaAnimation = mFadeOut ? fadeIn : fadeOut;
mAlphaAnimation.setDuration(2000);
mAlphaAnimation.setFillAfter(true);
mImageView.startAnimation(mAlphaAnimation);
mAlphaAnimation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationEnd(Animation animation) {
mFadeOut = !mFadeOut;
}
});
}
});
此代码 运行 也非常完美...直到知道,没关系,问题是当我再次尝试 运行 de CODE1 时。当我单击 ToggleButton (tbnVisible) 时,我的 mImageView 不会发生更多情况。在 运行 CODE2.
之后,只是 CODE1 不再起作用有人知道发生了什么事吗?
非常感谢
来自 Why doesn't setVisibility work after a view is animated?,您尝试过在视图上使用 clearAnimation
吗?