codenameone - 将值选择到下拉列表后,表单向下滚动
问题描述
当下拉列表中选择的日期值会自动将表单中的内容向下推送并且永远不会刷新时,我看到了问题。
我使用了 content.setScrollableY(true) 使表单可滚动。但是当我在下拉列表中选择日期值时,问题就发生了,我必须滚动日期以选择将在内部滚动表单中的内容。请告知
代码:
Form hi = new Form("Pick", BoxLayout.y());
Label emptyLbl1 = new Label(" ");
emptyLbl1.setUIID("Seperator");
Label emptyLbl2 = new Label(" ");
emptyLbl2.setUIID("Seperator");
Label emptyLbl3 = new Label(" ");
emptyLbl3.setUIID("Seperator");
Label emptyLbl4 = new Label(" ");
emptyLbl4.setUIID("Seperator");
Label emptyLbl5 = new Label(" ");
emptyLbl5.setUIID("Seperator");
Label emptyLbl6 = new Label(" ");
emptyLbl6.setUIID("Seperator");
Label emptyLbl7 = new Label(" ");
emptyLbl7.setUIID("Seperator");
Picker p = new Picker();
p.setType(Display.PICKER_TYPE_DATE);
hi.add(p).add(emptyLbl1).add(emptyLbl7);
CheckBox pickStartTime;
CheckBox pickEndTime;
pickStartTime = new CheckBox("Edit Start Time");
pickStartTime.setOppositeSide(true);
pickStartTime.setHeight(Display.getInstance().convertToPixels(6.5f));
pickStartTime.setSelected(false);
pickStartTime.setUIID("CheckArea");
pickEndTime = new CheckBox("Edit End Time");
pickEndTime.setOppositeSide(true);
pickEndTime.setHeight(Display.getInstance().convertToPixels(6.5f));
pickEndTime.setSelected(false);
pickEndTime.setUIID("CheckArea");
Picker timePicker1 = new Picker();
Picker datePicker1 = new Picker();
Picker dateTimePicker1 = new Picker();
timePicker1.setUIID("TextField");
datePicker1.setUIID("TextField");
dateTimePicker1.setUIID("TextField");
Button navigate = new Button("Navigation");
navigate.setUIID("NavigateButton");
CommonUtil.makeBorderRound(navigate);
Picker p1 = new Picker();
p1.setType(Display.PICKER_TYPE_DATE);
Label clock = new Label("--:--", "Clock");
hi.add(p1).add(pickStartTime).add(emptyLbl2).add(navigate).add(clock);
Picker p2 = new Picker();
p2.setType(Display.PICKER_TYPE_DATE);
hi.add(pickEndTime).add(p2).add(emptyLbl3).add(emptyLbl5);
Picker p3 = new Picker();
p3.setType(Display.PICKER_TYPE_DATE);
Button finishActivity = new Button("Finish Activity");
CommonUtil.makeBorderRound(finishActivity);
finish.setTextPosition(LEFT);
CommonUtil.addSideMenu(this);
hi.add(p3).add(emptyLbl6).add(finish);
hi.show();
解决方案
这不会发生在我身上:
Form hi = new Form("Pick", BoxLayout.y());
Picker p = new Picker();
p.setType(Display.PICKER_TYPE_DATE);
hi.add(p);
hi.show();
确保您使用的是轻量级选择器。
推荐阅读
- xcode - 在应用程序中包含日历特定要求的最佳方式是什么?
- python - 取两个字典的并集,保存所有信息
- php - Google My Business API - 我设法显示所有评论
- jenkins - 如何在 Jenkins 的活动选择参数中将简单的 shell 命令作为 groovy 脚本执行?
- qt - 视图之间的转换,最佳实践
- javascript - Formik onChange 不适用于使用 react-select 的下拉菜单
- javascript - 如何在 i18next - React Native 中设置默认语言?
- c - 如果 -0.0 之后的下一个可表示值是 +0.0,那么为什么 nextafter(-0.0, INFINITY) 不返回 +0.0?
- freeradius - Freeradius 3.0 上的 NAS 端口
- php - Laravel 5.8 - 从控制台命令执行后台作业