Codenameone 如何使树中的展开/折叠动画平滑,类似于Toolbar.addSearchCommand()中的效果?

Codenameone 如何使树中的展开/折叠动画平滑,类似于Toolbar.addSearchCommand()中的效果?,codenameone,Codenameone,在CN1树中展开(或折叠)子树时的默认动画不是平滑的:展开的元素在折叠时是一种插入,列表在折叠时是一种跳回。而Toolbar.addSearchCommand()所用的动画平滑且易于观看(隐藏/显示的元素都以非常优雅的方式同时展开/折叠) 我试图找到一种方法,使树动画平滑,但还没有找到它。有什么建议吗?对于tree来说,这比搜索命令更具挑战性。“搜索”命令仅在固定区域内移动对象。树需要扩展区域并引入隐藏元素,同时向下推其他内容。由于绘制区域较大,节点扩展到的容器需要增长,而动画的增长速度不够快

在CN1
中展开(或折叠)子树时的默认动画不是平滑的:展开的元素在折叠时是一种插入,列表在折叠时是一种跳回。而
Toolbar.addSearchCommand()
所用的动画平滑且易于观看(隐藏/显示的元素都以非常优雅的方式同时展开/折叠)


我试图找到一种方法,使树动画平滑,但还没有找到它。有什么建议吗?

对于tree来说,这比搜索命令更具挑战性。“搜索”命令仅在固定区域内移动对象。树需要扩展区域并引入隐藏元素,同时向下推其他内容。由于绘制区域较大,节点扩展到的容器需要增长,而动画的增长速度不够快


无论如何,我不确定在当前的树设计中它是否可以变得更平滑。您可以创建自定义树组件,并使用更受控制的动画类型,如
replace
或动画的多个阶段,例如展开/折叠、动画输入/输出。

谢谢,我已经尝试过,它可以用于展开(我添加展开的子元素并使用getParent.animateLayout())。这会使添加的元素平滑展开。但是,当我删除子元素并使用getParent.animateLayout()时,它会使所有子元素立即消失,然后下面的内容会平滑地向上移动。所以总体上更好,但不是对称的。我还尝试先在折叠的元素上使用setHidden(true),就像搜索一样,但动画结果与刚才描述的相同。这很奇怪,因为它在搜索中起作用。对我需要做什么有什么建议吗?当移除时,也要做两个阶段。将动画元素的X/Y位置移动到区域外的位置,然后使用animateUnlayout。然后使用animateLayout修复生成的无效布局