虚拟键盘隐藏了BlackBerry中编辑字段的一部分

时间:2013-08-23 19:24:50

标签: blackberry keyboard blackberry-editfield

我有LabelfieldEditFieldButton垂直居中对齐。我在Verticalfield管理器中添加了这三个字段,然后将其添加到水平字段管理器中。最后,HFM被添加到另一个VFM中。现在在9800设备或9380曲线中,我观察到当我触摸编辑字段时,虚拟键盘即将到来。它部分隐藏了编辑字段。

我想在虚拟键盘出现时将事情向上移动。我怎么能做到我的代码在这里:

    HorizontalFieldManager hfm = new HorizontalFieldManager();
    VerticalFieldManager vfmComponent = new VerticalFieldManager(USE_ALL_WIDTH);
    vfmComponent.add(lfServerUrl);
    vfmComponent.add(mEfURL);
    vfmComponent.add(mBtnSave);
    hfm.add(vfmComponent);
    int topEmptySpace = (Display.getHeight() - (Bitmap.getBitmapResource(mStrTopBar).getHeight() + hfm.getPreferredHeight() + 25)) / 2;
    hfm.setMargin(topEmptySpace, 0, 0, 0);
    VerticalFieldManager vfmMain = new VerticalFieldManager(VERTICAL_SCROLL| NO_HORIZONTAL_SCROLL );
    vfmMain.add(hfm);
    add(vfmMain);

请帮助。

1 个答案:

答案 0 :(得分:1)

此处的BB论坛也提出了同样的问题; http://supportforums.blackberry.com/t5/Java-Development/Virtual-keyboard-is-hiding-the-part-of-the-edit-Field/td-p/2553879

给出的答案涉及通过覆盖该Manager的子布局来创建一个专门的管理器,该管理器将一个Field“置于其中”。然后将要放置在另一个标准管理器内的字段放在中心管理器中。这意味着中心经理只需处理一件事。最后的'技巧'是将MainScreen定义为非滚动,这意味着中心管理器被赋予其可以使用的高度,并且当添加虚拟键盘时,此高度已更改,再次调用子布局,并且中心管理器可以调整位置。

BB论坛中有更多关于Thread的内容,包括对各种知识库文章和示例代码的引用。因此,请参阅该主题以获取更多信息。