java - 与 native 主题一起使用时,表单中的第一个 addCommand() 项失败

标签 java codenameone

在将 Form 类的 addCommand() 方法与 Native 主题一起使用时遇到问题 - 其他主题工作正常。请参阅以下示例:

Form hi = new Form("Hi World");
hi.addComponent(new Label("Hi World"));

// with native theme - can't click on the first command in the list
hi.addCommand(new Command("Dummy1") {
    public void actionPerformed(ActionEvent ev) {
        Dialog.show("Dummy1 Clicked!", "You clicked the Dummy1", "OK", null);
    }
});
hi.addCommand(new Command("Dummy2") {
    public void actionPerformed(ActionEvent ev) {
        Dialog.show("Dummy2 Clicked!", "You clicked the Dummy2", "OK", null);
    }
});
hi.show();

当我使用上面的代码创建应用程序时,单击第二个命令(“Dummy2”)会生成预期的对话框,但单击第一个命令(“Dummy1”)不会执行任何操作。

这只发生在使用 native 主题时。如果我切换到纯蓝色,则单击任一命令都会生成预期的对话框。

这种行为在模拟器和真实的 Android 设备上都会发生(不知道 iOS 是否如此)。

仅供引用,我的工具链是 NetBeans IDE v8.2、Java 1.8.0_25,带有 CodenameOne 插件 v3.6.0。

还有人看过这个吗?我错过了什么吗?如果是这样,有解决方法吗?

最佳答案

如果元素非常窄并且非常靠近顶部,则单击可能会被误解为越界单击或在状态栏区域上单击。您需要将 SideCommand 的样式设置为具有合理的默认值,因为该元素非常特定于应用程序。否则触摸可能会丢失。

关于java - 与 native 主题一起使用时,表单中的第一个 addCommand() 项失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42478091/

相关文章:

java - spring-boot 应用程序重启时 HSQL DB 丢失

java - JPanel 上的 Graphics2D 并将 JPanel 添加到 JFrame

java - 如何在 ResponseEntity 中不返回空值?

android - 代号 一期 : What will happen to the push notification service in an iOS app after expiration of a Codename One pro account subscription?

java - CodeNameOne 设计器堆设置在哪里?

java - 在 Java 中获取受支持的 CPU 功能/指令

java - OSGI容器识别Equinox/knopflerfish以及Equinox osgi jar和核心osgi jar之间的关系

java - 是否可以将 JavaFX 的 PerspectiveTransform 与新的 Canvas 类一起使用?

android - 您是否为代号为 1 的视障人士提供屏幕阅读器 api?

java - iOS 构建多个问题。