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你就会有一个正确的想法。
想象一下,在您的应用程序中有一个面板,比如贴纸面板(类似于 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你就会有一个正确的想法。