gpt4 book ai didi

android - setVisibility(View.GONE) 不会消失 View

转载 作者:太空宇宙 更新时间:2023-11-03 12:19:21 43 4
gpt4 key购买 nike

在我的 Activity 中,我有一个开始按钮,单击该按钮时它应该淡出并最终消失 setVisibility(View.GONE)

问题是将可见性设置为 GONE 不会使 View 消失,它仍然可见。我特意让 View 动画淡出到 0.1(而不是 0),即使在调用 setVisibility(View.GONE) 之后我也可以在后台看到它。在上面。

淡出动画 anim_fade_out.xml是:

<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:fillAfter="true" android:fillEnabled="true">

<alpha
android:fromAlpha="1.0"
android:toAlpha="0.1"
android:duration="200" />
</set>

方法是showTimer() :

private void showTimer() {
final LinearLayout startButtonArea = (LinearLayout)findViewById(R.id.startButtonArea);

Animation animFadeOut = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.anim_fade_out);

startButtonArea.startAnimation(animFadeOut);

animFadeOut.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationEnd(Animation animation) {
startButtonArea.setVisibility(View.GONE);
Log.d("Animation ended","startButtonArea SHOULD BE GONE BUT IT ISN'T");
}
@Override
public void onAnimationRepeat(Animation animation) {}
@Override
public void onAnimationStart(Animation animation) {}
});

}

重申一下,我知道动画的结束 alpha 是 0.1(通常为 0)但我想确认 View 确实是 GONE但事实并非如此。

最佳答案

因为您的 fillAfter 为真,动画会在您的 onAnimationEnd 被调用后设置属性。您可以将 fillAfter 更改为 false,或者这样做:

@Override
public void onAnimationEnd(Animation animation) {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
startButtonArea.setVisibility(View.GONE);
Log.d("Animation ended","startButtonArea SHOULD BE GONE BUT IT ISN'T");
}
}, 0);
}

关于android - setVisibility(View.GONE) 不会消失 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21062271/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com