Codenameone 如何停止动画闪烁
是否有一些通用技术可以阻止显示器闪烁?我猜我有两个布局动画正在争夺控件或其他东西——这似乎发生在我的应用程序中的一些地方(这就是一般问题) 我也会尽量说得更具体一些: 我有一个Codenameone 如何停止动画闪烁,codenameone,Codenameone,是否有一些通用技术可以阻止显示器闪烁?我猜我有两个布局动画正在争夺控件或其他东西——这似乎发生在我的应用程序中的一些地方(这就是一般问题) 我也会尽量说得更具体一些: 我有一个框布局Y容器,其中包含一个多按钮的列表。MultiButton是我自己的类,它继承了MultiButton。当我从另一个表单返回到表单时,它(所有按钮)会弹起来。在beforeForm函数中,我执行以下操作: for (my loop) { MultiButton mb = new MultiButton(); ...in
框布局Y
容器
,其中包含一个多按钮的列表。MultiButton是我自己的类,它继承了MultiButton。当我从另一个表单返回到表单时,它(所有按钮)会弹起来。在beforeForm函数中,我执行以下操作:
for (my loop)
{
MultiButton mb = new MultiButton();
...init code for mb, like setTextLine1();
container.addComponent(mb);
lastMb = mb;
}
container.revalidate();
container.scrollComponentToVisible(lastMb);
在显示表单之前调用beforeForm
方法,因此在该阶段无需重新验证(show隐式地执行此操作)
什么是scrollToComponent
?如果你移除它,它会闪烁吗
要滚动到没有动画的组件,请执行以下操作:
container.setSmoothScrolling(false);
container.scrollComponentToVisible(cmp);
container.setSmoothScrolling(true);
对不起,是的,我打错了:scrollComponenttoVisible。我最初把重新验证日期放进去是因为如果我不这样做,ScrollComponentToVisible就没有效果了。我已经按照你的建议去做了,但是我必须把它放在一个callSerially中,否则它不会滚动。如果我在平滑滚动的情况下连续调用它,那么它可以工作,但滚动突出显示的蓝色端永久可见。一切似乎都有点不正常。你会怎么做?我想这可以通过将最后一段代码移到postForm方法来解决。在before方法中,组件尚未布局,因此滚动到可见实际上是滚动到默认值为0,0的组件。如果只将滚动部分移动到post方法,则在布局组件时,它将在show()之后执行。OK。postForm确实解决了这个问题。我已经删除了另一个重新验证,我认为这导致了一个不同的(时间会告诉我们)。我还有一个,我有一个带有文本区和按钮的表单。通常,当我在文本区域有焦点的情况下按下按钮时,键盘消失似乎会产生一种有趣的背景闪烁-当我按下按钮时,背景变黑,当我松开按钮时,背景恢复正常(同样,在Android上)-每次我按下按钮时,它都会继续这样做。sendspace上的视频: