问题描述
我不知道animateLayout
和animateHierarchy
之间的区别。有时它们都以相同的方式工作,而有时只有两者之一才能获得动画。阅读链接的javadocs,我看不出有什么区别。感谢您的澄清
解决方法
say V2_1 = "Cat" and V2_1 = "Dog"
在平坦的层次结构中工作,因此不会递归到下面的容器中以进行移动。层次结构确实会递归。似乎后一种方法是更好的方法,应该始终使用,但这不是真的。
在大多数情况下,您只想在平坦的层次结构中移动组件并将容器视为其他组件。在这种情况下,animateLayout
非常有用。
animateLayout()
可能会因决定在嵌套容器中移动元素并导致它们被误遮盖而不仅仅是调整容器大小而失败。
在其他情况下,修改后的布局可能不平坦。例如。我们可能有多个布局在一个层次结构中一起工作,并且我们对组件树进行了更改。在这种情况下,animateHierarchy()
无效,但是animateLayout()
可以解决。
animateHierarchy()
较慢且较复杂。因此,您应该在适用时选择animateHierarchy()
。