我有一个Labelfield
,EditField
和一个Button
,它们居中对齐垂直。这三个字段我已添加到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);
请帮忙。
你能解释为什么你有这么多的嵌套管理器?如果此代码放置在“MainScreen”子类中,则该屏幕已经带有一个内置的“VerticalFieldManager”。我不明白为什么你不能只使用那个管理器,并去掉'hfm','vfmComponent'和'vfmMain'。但是,这可能是我不明白你的设计。也许截图会有所帮助?这很重要,因为您可能通过复杂的布局触发了此错误,并且解决方法可能需要了解哪个垂直字段管理器需要滚动。 – Nate
我已经通过自定义我的顶级vfm修复了它。所以不需要添加这么多的经理。不知何故,你在这里。 –