我有一個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修復了它。所以不需要添加這麼多的經理。不知何故,你在這裏。 –