【问题标题】:Codename one Form layout not folding when keyboard displayed代号一 显示键盘时表单布局不折叠
【发布时间】:2017-04-28 03:14:21
【问题描述】:

我在开发一个包含聊天页面的应用时遇到问题。
主窗体布局为边框布局,北边是东西,南边是文本框,中间是聊天消息。
当文本字段获得焦点并出现键盘时,布局会从屏幕上向上移动,而不是调整大小。
我很确定这曾经适用于旧版本的 CN1。
带有消息的中心容器是可滚动的 Y。
我已经用一个最小的形式复制了这个,它在南部只包含一个文本区域,当键盘出现时,标题区域仍然被推离屏幕。 我一直在 android 上进行测试,但问题也出现在 iOS 上。

编辑:
这是该问题的一个最小示例;

Form hi = new Form("Welcome", new BorderLayout());

hi.add(BorderLayout.NORTH, new Label("Top"));

Container c = new Container(new BoxLayout(BoxLayout.Y_AXIS));
c.setScrollableY(true);
hi.add(BorderLayout.CENTER, c);

hi.add(BorderLayout.SOUTH, new TextField());
hi.show();

【问题讨论】:

    标签: android ios layout keyboard codenameone


    【解决方案1】:

    这个错误现在是fixed。它将在下一次服务器更新中可用。您不需要对代码进行任何更改。

    【讨论】:

      【解决方案2】:

      确保中心的内容有 setScrollableY(true) 确保它是 UI 中唯一的可滚动元素。

      【讨论】:

      • 正如我上面所说,我的中心容器已将 scrollableY 设置为 true。即使在最简单的示例表单上仍然无法工作。如果有帮助,我可以整理一个最小的例子
      • 您能看看 Dr. Sbaitso 演示是否适合您吗?如果不是,这可能是一种回归,这意味着提出问题。如果它确实有效,那么与您的代码相比,看看我们在那里做了什么不同。
      • 折叠现在仅在您设置 hi.setFormBottomPaddingEditingMode(true); 时有效我很确定过去不是这种情况(当中心可滚动时)
      • 这在过去可能在 Android 上有效,但在键盘输入方面存在一些非常难以处理的极端情况
      【解决方案3】:

      使用:
      hi.setFormBottomPaddingEditingMode(true);

      其中“hi”是您想要折叠的表格。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-31
        • 1970-01-01
        • 2019-08-05
        相关资源
        最近更新 更多