show/hide android 中的视图(动画)的正确方法?

Proper way to (animate) show/hide a view in android?

想象一下,在您的应用程序中有一个面板,比如贴纸面板(类似于 Viber 或 Telegram),它需要时不时地显示和消失。

showing/hiding 正确的做法是什么?例如,我曾经更改(动画)包装器布局的高度,但它对性能不是很友好。

我应该只更改可见性并完成吗?或者可以使用更好的方法? (最好采用动画方式。)

使用 view.setTranslationY(translationAmount),并使用 view.animate().translationY(-translationAmount).start() 制作动画。

translationAmount可能是视图的高度,更改此测量值的符号将反转运动方向。

平移动画比更改视图高度或其他布局参数更有效,因为您不必遍历视图树并重新绘制所有内容。

您可以将动画应用到视图,例如 view.animate().translationY(距离);

应用view.setVisibility(View.VISIBLE);并且 view.setVisibility(View.GONE); 需要显示和隐藏视图。

参考this你就会有一个正确的想法。