gpt4 book ai didi

java - CN1 - onTitleScrollAnimation 被窃听

转载 作者:行者123 更新时间:2023-11-30 05:54:51 25 4
gpt4 key购买 nike

我一直在遵循CN1官方主页的指南:https://codenameone.teachable.com/courses/java-for-mobile-devices-introducing-codename-one/lectures/2647773

它的效果非常好,并且对后续工作有很大帮助。不过最后,我们是关于缩小工具栏的动画的实现,有一个错误,我无法解释。

这是片段:

// animations
ComponentAnimation c1 = shoppingList.getToolbar().createStyleAnimation("ShopToolbarShrunk", 200);
ComponentAnimation c2 = titleLabel.createStyleAnimation("TitleShrunk", 200);
ComponentAnimation c3 = fab.createStyleAnimation("FloatingActionButtonShrunk", 200);
shoppingList.getAnimationManager().onTitleScrollAnimation(c1, c2, c3);

代码运行并打开模拟器。我可以移动鼠标滚轮或鼠标滚动列表,然后动画开始。就在动画的最小尺寸之前,它崩溃并显示以下跟踪:

java.lang.StackOverflowError
at java.awt.Font.<init>(Unknown Source)
at java.awt.Font.<init>(Unknown Source)
at java.awt.Font.deriveFont(Unknown Source)
at com.codename1.impl.javase.JavaSEPort.deriveTrueTypeFont(JavaSEPort.java:4841)
at com.codename1.ui.Font.derive(Font.java:273)
at com.codename1.ui.Component$2.updateState(Component.java:2625)
at com.codename1.ui.animations.ComponentAnimation.updateAnimationState(ComponentAnimation.java:95)
at com.codename1.ui.AnimationManager$2.scrollChanged(AnimationManager.java:139)
at com.codename1.ui.util.EventDispatcher.fireScrollEvent(EventDispatcher.java:427)
at com.codename1.ui.Component.setScrollY(Component.java:1879)
at com.codename1.ui.Component.laidOut(Component.java:4409)
at com.codename1.ui.Container.doLayout(Container.java:1430)
at com.codename1.ui.Container.layoutContainer(Container.java:1412)
at com.codename1.ui.Container.doLayout(Container.java:1425)
at com.codename1.ui.Container.layoutContainer(Container.java:1412)
at com.codename1.ui.Container.doLayout(Container.java:1425)
at com.codename1.ui.Container.layoutContainer(Container.java:1412)
at com.codename1.ui.Container.revalidate(Container.java:1058)
at com.codename1.ui.AnimationManager$2.scrollChanged(AnimationManager.java:144)
at com.codename1.ui.util.EventDispatcher.fireScrollEvent(EventDispatcher.java:427)
at com.codename1.ui.Component.setScrollY(Component.java:1879)
at com.codename1.ui.Component.laidOut(Component.java:4409)
at com.codename1.ui.Container.doLayout(Container.java:1430)
at com.codename1.ui.Container.layoutContainer(Container.java:1412)
at com.codename1.ui.Container.doLayout(Container.java:1425)
at com.codename1.ui.Container.layoutContainer(Container.java:1412)
at com.codename1.ui.Container.doLayout(Container.java:1425)
at com.codename1.ui.Container.layoutContainer(Container.java:1412)
at com.codename1.ui.Container.revalidate(Container.java:1058)
at com.codename1.ui.AnimationManager$2.scrollChanged(AnimationManager.java:144)
...

痕迹无限重复。很容易看出这是一个死循环,导致java堆栈溢出,抛出异常。

首先,我认为我有不同的字体,这会弄乱动画。然而,我的主题中唯一自定义的字体是标题栏之一,它对于“title”和“titleShrunk”GUID 都设置为 native:mainthin。即使它是相同的字体,我仍然遇到这个问题。

上面是一个很好的指南,我希望能坚持到底,因为这也是一个非常酷的动画。

最佳答案

看来您的项目确实已经过时了,这意味着这个问题可能很久以前就已经被修复了。请确保您的插件是最新的,然后按照此处的说明进行操作,以确保您的库是最新的 https://www.codenameone.com/blog/tip-fix-issue-missing-builds.html

假设这种情况仍然发生,请使用新的异常更新堆栈跟踪,因为行号将会不同。然后在这里发表评论,以便我看到问题的更新并修改答案。

关于java - CN1 - onTitleScrollAnimation 被窃听,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53344867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com