首页 > 解决方案 > 在表格布局中使用两个 textArea 会产生奇怪的行为 - cn1

问题描述

我在表格布局中有几个文本字段和文本区域。第一个 textArea 运行良好,但之后如果第二个 textArea 获得焦点,则组件会向上移动,并且在 textArea 中写入的文本会显示在 textArea 下方。它仅发生在 iOS 设备中。它在安卓设备上运行良好。

请看这里的视频

代码:

Label nameLabel = new Label("New Owner Name* ");
TextField nameData = new TextField();

Label addressLabel = new Label("New Address* ");
TextField addressData = new TextField();

Label phnNoLabel = new Label("Phone No. ");
TextField phnData = new TextField();
phnData.setConstraint(TextField.NUMERIC);

Label contactNoLabel = new Label("New Mobile No.* ");
TextField contactData = new TextField();
contactData.setConstraint(TextField.NUMERIC);

Label emailLabel = new Label("New Email ");
TextField emailData = new TextField();
emailData.setConstraint(TextField.EMAILADDR);

Label reasonLabel = new Label("Reason* ");
TextArea reasonData = new TextArea();
reasonData.setRows(4);
reasonData.setUIID("TextField");
reasonData.setScrollVisible(false);
reasonData.getAllStyles().setAlignment(Label.LEFT);

Label remarksLabel = new Label("Remarks ");
TextArea remarksData = new TextArea();
remarksData.setRows(4);
remarksData.setUIID("TextField");
remarksData.setScrollVisible(false);

Button submitButton = new Button(" Submit ");

TableLayout tl = new TableLayout(7, 2);
Container testDriveContainer = new Container(tl);

testDriveContainer.add(tl.createConstraint().widthPercentage(35), nameLabel).add(tl.createConstraint().widthPercentage(65), nameData)
        .add(tl.createConstraint().widthPercentage(35), addressLabel).add(tl.createConstraint().widthPercentage(65), addressData)
        .add(tl.createConstraint().widthPercentage(35), contactNoLabel).add(tl.createConstraint().widthPercentage(65), contactData)
        .add(tl.createConstraint().widthPercentage(35), phnNoLabel).add(tl.createConstraint().widthPercentage(65), phnData)
        .add(tl.createConstraint().widthPercentage(35), emailLabel).add(tl.createConstraint().widthPercentage(65), emailData)
        .add(tl.createConstraint().widthPercentage(35), reasonLabel).add(tl.createConstraint().widthPercentage(65), reasonData)
        .add(tl.createConstraint().widthPercentage(35), (remarksLabel)).add(tl.createConstraint().widthPercentage(65), remarksData);

Container mainContainer = BoxLayout.encloseY(testDriveContainer, FlowLayout.encloseCenter(submitButton));
mainContainer.setScrollableY(true);
add(BorderLayout.CENTER, mainContainer);

标签: codenameone

解决方案


推荐阅读