Codename One 键盘封面图片
Codename One Keyboard Cover Image
我有一个带有文本字段的 Android 应用程序。当我开始打字时,键盘将背景图像向上推。
我希望图像保留在原位,而键盘覆盖它。
将布局更改为 BoxLayout 或 BorderLayout 对背景图像的位置没有任何影响,更改可滚动也没有影响:
container.setScrollableY(false);
form.setScrollableY(false);
我如何实现将图像保持在原位?
我无法弄清楚的另一件事是访问表单时光标已经在 TextField 中并且键盘可见,设置:
textField.requestFocus();
但这也没有达到预期的效果。
如有任何帮助,我们将不胜感激。
文本字段必须位于可滚动的父级中。
如果图像和文本字段在同一个容器中并且文本字段在图像上方,您可能会得到更接近第二张图像的内容。在 iOS 上,增加滚动区域以容纳虚拟键盘,在 Android 上,调整屏幕大小以容纳虚拟键盘。
随着屏幕尺寸的调整,这可能会导致细微的行为差异。
除了 Shai 的回答之外,您还可以尝试将 TextField 父容器放在 BorderLayout 容器的 north 中,将图像容器放在 center。这可以以某种方式强制键盘在中心的图像上滑动。
要在显示表单时回答 TextField 编辑的部分,请在 TextField 表单中添加以下内容
form.setEditOnShow(textField);
如果 TextField 中已有一些文本,您可能需要进行以下设置以将光标置于末尾:
CN.callSerially(() -> {
textField.setCursorPosition(textField.getText().length());
form.repaint(); // optional form repainting
});
我有一个带有文本字段的 Android 应用程序。当我开始打字时,键盘将背景图像向上推。
我希望图像保留在原位,而键盘覆盖它。
将布局更改为 BoxLayout 或 BorderLayout 对背景图像的位置没有任何影响,更改可滚动也没有影响:
container.setScrollableY(false);
form.setScrollableY(false);
我如何实现将图像保持在原位?
我无法弄清楚的另一件事是访问表单时光标已经在 TextField 中并且键盘可见,设置:
textField.requestFocus();
但这也没有达到预期的效果。
如有任何帮助,我们将不胜感激。
文本字段必须位于可滚动的父级中。
如果图像和文本字段在同一个容器中并且文本字段在图像上方,您可能会得到更接近第二张图像的内容。在 iOS 上,增加滚动区域以容纳虚拟键盘,在 Android 上,调整屏幕大小以容纳虚拟键盘。
随着屏幕尺寸的调整,这可能会导致细微的行为差异。
除了 Shai 的回答之外,您还可以尝试将 TextField 父容器放在 BorderLayout 容器的 north 中,将图像容器放在 center。这可以以某种方式强制键盘在中心的图像上滑动。
要在显示表单时回答 TextField 编辑的部分,请在 TextField 表单中添加以下内容
form.setEditOnShow(textField);
如果 TextField 中已有一些文本,您可能需要进行以下设置以将光标置于末尾:
CN.callSerially(() -> {
textField.setCursorPosition(textField.getText().length());
form.repaint(); // optional form repainting
});