Codenameone 工具栏中的SearchCommand不再正确显示
我注意到,在不久前更新了CN1之后,搜索不再正确地显示在工具栏中 单击搜索图标时,工具栏将更改,图标将显示,但用于输入搜索文本的文本字段(通常显示提示)不会显示,即使您开始键入。仅当您刷新屏幕时,例如在搜索字段或表单上单击时,才会显示该图标Codenameone 工具栏中的SearchCommand不再正确显示,codenameone,Codenameone,我注意到,在不久前更新了CN1之后,搜索不再正确地显示在工具栏中 单击搜索图标时,工具栏将更改,图标将显示,但用于输入搜索文本的文本字段(通常显示提示)不会显示,即使您开始键入。仅当您刷新屏幕时,例如在搜索字段或表单上单击时,才会显示该图标 Form hi18 = new Form("FormTitle"); hi18.setLayout(BoxLayout.y()); Container cont18 = hi18.getContentPane(); hi18.getToolbar().add
Form hi18 = new Form("FormTitle");
hi18.setLayout(BoxLayout.y());
Container cont18 = hi18.getContentPane();
hi18.getToolbar().addSearchCommand((e) -> {
String text = (String) e.getSource();
for (Component c : hi18.getContentPane()) {
c.setHidden(c instanceof Label && ((Label) c).getText().indexOf(text) < 0);
}
hi18.getComponentForm().animateLayout(150);
});
for (int i = 0; i < 20; i++) {
Label l = new Label("Label " + i);
cont18.add(l);
}
hi18.show();
表格hi18=新表格(“表格标题”);
hi18.setLayout(BoxLayout.y());
Container cont18=hi18.getContentPane();
hi18.getToolbar().addSearchCommand((e)->{
字符串text=(字符串)e.getSource();
对于(组件c:hi18.getContentPane()){
c、 setHidden(标签的实例c&((标签)c).getText().indexOf(文本)<0);
}
hi18.getComponentForm().animateLayout(150);
});
对于(int i=0;i<20;i++){
标签l=新标签(“标签”+i);
续18.加入(l);
}
hi18.show();
考虑到您为测试用例创建了一个没有文本的标题,我觉得这很好,所以它可能会在您身上缩小。我建议在标题中添加文字,并确保您的样式不会对此产生太大影响。我还建议在讨论一些看起来不对劲的事情时添加屏幕截图,这样我们就在同一页上了
这些是使用当前中继上的代码生成的:
考虑到您为测试用例创建了一个没有文本的标题,我觉得这很好,所以它可能会在您身上缩小。我建议在标题中添加文字,并确保您的样式不会对此产生太大影响。我还建议在讨论一些看起来不对劲的事情时添加屏幕截图,这样我们就在同一页上了 这些是使用当前中继上的代码生成的:
谢谢,我会记得包括屏幕截图。但是,您似乎发现了与我提到的相同的问题:在按下搜索按钮后,您不会立即看到搜索提示(“搜索”),您应该在其中键入搜索文本。我还猜测,如果您在第一次按下搜索图标(在模拟器上)后立即开始键入文本,则在单击某个位置(在表单中或搜索文本区域应该在的位置)之前,您不会看到键入的文本?默认情况下,提示在本机编辑模式下消失。在使用本机编辑时,也可以使用主题常量使其显示:注释是关于模拟器的,在我看来,与早期(正确的)行为相比,它显然是一种回归。您是否与CN1的早期版本进行了比较?(注意,在示例代码中,添加表单标题不会改变任何内容)。我在表单的其他位置单击,当我不编辑时,它会显示提示。我用这个替换了iOS版本的屏幕截图。与此相关的工具栏/搜索栏没有变化(我查看了git源代码)。我猜测文本字段修复了立即开始编辑行为,因此提示最初不可见,但这是一个模糊的猜测。我更新了代码示例,以更直接地显示发生了什么。我所看到的:单击搜索图标:提示文本没有显示(但应该显示,而且以前也显示过),然后立即开始键入,键入的文本不会显示(但列表会按预期进行过滤)。单击某个地方(在表单或搜索文本字段上),此时会突然显示键入的搜索文本。你很可能是对的,这个问题与TextField中的更改有关,但我没有尝试调试,因为这似乎是CN1中的回归。谢谢,我会记得包括屏幕截图。但是,您似乎发现了与我提到的相同的问题:在按下搜索按钮后,您不会立即看到搜索提示(“搜索”),您应该在其中键入搜索文本。我还猜测,如果您在第一次按下搜索图标(在模拟器上)后立即开始键入文本,则在单击某个位置(在表单中或搜索文本区域应该在的位置)之前,您不会看到键入的文本?默认情况下,提示在本机编辑模式下消失。在使用本机编辑时,也可以使用主题常量使其显示:注释是关于模拟器的,在我看来,与早期(正确的)行为相比,它显然是一种回归。您是否与CN1的早期版本进行了比较?(注意,在示例代码中,添加表单标题不会改变任何内容)。我在表单的其他位置单击,当我不编辑时,它会显示提示。我用这个替换了iOS版本的屏幕截图。与此相关的工具栏/搜索栏没有变化(我查看了git源代码)。我猜测文本字段修复了立即开始编辑行为,因此提示最初不可见,但这是一个模糊的猜测。我更新了代码示例,以更直接地显示发生了什么。我所看到的:单击搜索图标:提示文本没有显示(但应该显示,而且以前也显示过),然后立即开始键入,键入的文本不会显示(但列表会按预期进行过滤)。单击某个地方(在表单或搜索文本字段上),此时会突然显示键入的搜索文本。您很可能是对的,这个问题与TextField中的更改有关,但我没有尝试调试,因为这似乎是CN1中的回归。