alpha(0)动画后视图不可见

Rot*_*zky 2 android

我需要淡出一个视图,我需要在一些用户操作后再次显示它.

所以我这样做了:

view.animate().alpha(0).setDuration(duration).start();
Run Code Online (Sandbox Code Playgroud)

在动画结束时我做了:

view.setVisibility(View.GONE);
Run Code Online (Sandbox Code Playgroud)

然后,当我想再次展示它时,我会这样做

view.setVisibility(View.VISIBLE);
Run Code Online (Sandbox Code Playgroud)

之后由于某种原因,视图不可见.

目前,我发现解决此问题的唯一方法是在动画结束时执行此操作:

view.animate().alpha(1).start();
view.setVisibility(View.GONE);
Run Code Online (Sandbox Code Playgroud)

这解决了它.
想知道是否有更优雅和更好的做法的其他方式.谢谢

Mor*_*itz 6

您需要将alpha重置为1:view.setAlpha(1f)再次显示您的视图时.