Java 表单中的第一个addCommand()项与本机主题一起使用时失败
我在使用表单类的Java 表单中的第一个addCommand()项与本机主题一起使用时失败,java,codenameone,Java,Codenameone,我在使用表单类的addCommand()方法和本机主题时遇到了一个问题—其他主题可以正常工作。请参见以下示例: 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
addCommand()
方法和本机主题时遇到了一个问题—其他主题可以正常工作。请参见以下示例:
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”)不会产生任何效果
这仅在使用本机主题时发生。如果我切换到蓝色平面,则单击任一命令都会生成预期的对话框
这种行为发生在模拟器和真实的Android设备上(不知道iOS)
仅供参考,我的工具链是NetBeans IDE v8.2,Java 1.8.025,带有CodenameOne插件v3.6.0
还有谁见过这个吗?我错过什么了吗?如果是,是否有解决方法?如果元素非常窄且非常靠近顶部,则单击可能会被误解为单击超出范围或在状态栏区域上。您需要设置
SideCommand
的样式,使其具有合理的默认值,因为该元素非常特定于应用程序。否则,接触可能会丢失。如果元素非常窄且非常接近顶部,则单击可能会被错误地理解为超出边界或在状态栏区域上单击。您需要设置SideCommand
的样式,使其具有合理的默认值,因为该元素非常特定于应用程序。否则触摸可能会丢失。我尝试设置侧命令的样式,但似乎没有帮助。对我来说,有效的方法是为TitleArea
定义一个样式,并简单地取消选中Padding
设置的派生
(我将它们都设置为0px)
我不知道这是为什么——我本以为派生值在任何情况下都是零。我尝试了设置侧命令的样式,但似乎没有帮助。对我来说,有效的方法是为TitleArea
定义一个样式,并简单地取消选中Padding
设置的派生
(我将它们都设置为0px)
我不知道为什么会这样——我本以为导出的值在任何情况下都是零