在 Codenameone 中控制宽度渲染动画

Control width render animation in Codenameone

我有一个包含多个垂直部分的页面,每个垂直部分都有我构建的温度计类型控件,并在每个垂直部分上呈现。我如何对其进行编码,以便在页面加载时所有部分的 'mercury' 宽度可以以动画方式增长以填充温度计?

我试过为制作form.animateLayout(3000)而提供的样品;但我一直未能成功让各个控件同时增加它们的宽度..

仅供参考,温度计是一个容器,布局为 Table,容器上有一个特定宽度的红色标签

outlineContainer.add(table.createConstraint().widthPercentage(90), mercuryLabel);

这就是我保证温度计 mercury 宽度正确的方法。

提前致谢。

您需要为生长元素的直接父级设置动画,这样应该可以工作:

mercuryLabel.setWidth(0);
outlineContainer.animateLayout(1000);

确保您没有 revalidaterepaint 或其他相关代码会中断此操作。