代号一个键盘盖图片

时间:2019-06-24 19:08:52

标签: android keyboard background-image codenameone

我有一个带文本字段的Android应用程序。当我开始打字时,键盘会向上推背景图像。

我希望图像保留在原处,而键盘将其覆盖。

将布局更改为BoxLayout或BorderLayout不会对背景图像的位置产生任何影响,也不会更改可滚动内容:

container.setScrollableY(false);
form.setScrollableY(false);

如何实现将图像固定在适当的位置?

我无法弄清的另一件事是使用TextField中已经​​存在光标并且可见的键盘来访问表单,设置为:

textField.requestFocus();

但是那也没有达到预期的效果。

任何帮助将不胜感激。

enter image description here

2 个答案:

答案 0 :(得分:2)

除了Shai的答案,您还可以尝试将TextField父容器放置在BorderLayout容器的中,并将图像容器放置在 center 中。这样可以强制键盘在中心的图像上滑动。

要回答显示表单时TextField编辑的部分,请在TextField表单中添加以下内容

form.setEditOnShow(textField);

如果TextField中已经​​有一些文本,则可能需要在下面进行设置,以将光标置于末尾:

CN.callSerially(() -> {
    textField.setCursorPosition(textField.getText().length());
    form.repaint(); // optional form repainting
});

答案 1 :(得分:1)

文本字段必须位于可滚动的父级中。

如果图像和文本字段在同一容器中,并且文本字段在图像上方,则可能会更接近第二个图像。在iOS上,滚动区域增大以容纳虚拟键盘,在Android上,屏幕尺寸被调整为容纳虚拟键盘。

随着屏幕尺寸的适应,这可能导致细微的行为差异。