我遇到了一個奇怪的問題:我有一個屏幕使用默認的VerticalFieldManager .... super(USE_ALL_WIDTH | USE_ALL_HEIGHT); .....我們添加了24個附加字段。這些附加字段的類型爲RichTextField,NullField,TextField和ObjectChoiceField。此屏幕只是一個CRUD表單...用於輸入要發送到後端服務器的數據。滾動問題 - 很難「進入」屏幕底部的字段
有趣的是,我不能使用小的TrackPad(真實設備和模擬器是9850 Torch 2的)來導航到屏幕底部的字段。由於這是一個基於觸摸的設備,我可以向上「拖動」屏幕以暴露底部但是僅在顯示虛擬鍵盤之後的那些字段。
根據MainManager.getVirtualHeight()方法,我的虛擬高度是970像素,我的可見高度是800(火炬2)。這些字段低於最初的「可查看內容區域」,並且需要滾動才能到達,我無法使用觸控板將焦點放置在屏幕下邊緣以下的某個TextField中.....點實際上,我可能可以在那裏放置焦點,但屏幕仍然不會向上滾動較低的字段,以便用戶可以看到它們。
這是一個非常簡單的實現:
public class GetDataScreen extends MainScreen .....
public GetDataScreen()
{
super(MainScreen.USE_ALL_WIDTH | MainScreen.USE_ALL_HEIGHT);
add(field1);
add(field2);
....
...
..
.
}
是什麼導致這或如何解決它有什麼想法?對於記錄我也試過呼籲:
super(MainScreen.VERTICAL_SCROLL | MainScreen.VERTICAL_SCROLLBAR | MainScreen.USE_ALL_WIDTH | MainScreen.USE_ALL_HEIGHT);
.....希望能解決它,但它沒有任何區別。特別是當一個文本框是不是屏幕本身的高 -
感謝
你的情況與我在一年前發現的其中一個類似:5。0/9550,當屏幕內容是幾個屏幕高度時,尤其是瀏覽器字段在內時,VFM會錯誤地計算大小,並且不能全部滾動到底部,差異與內容大小成比例。但是,如果您是從VFM衍生出來的 - 這不會發生。真的,沒有更多,只是分類。從「mgr = new VirtualFieldManager();」更改到「mgr = new VirtualFieldManager(){};」訣竅。我已經徹底地進行了測試,並且它是框架中的100%確定性錯誤。 Java用戶,去圖那個! :)))) – quetzalcoatl