回答
一個快速反應將是否定,但讓我解釋爲什麼,並建議無效的工作;
屏幕實際上並沒有處理將字段放置到自己身上的問題,爲此他們可以對代理經理進行刪除,該經理可以是任何類型的經理,垂直,水平等。問題是所有經理都開始從頂部繪畫自己剩下。對於從底部開始繪製字段的管理員來說,它必須知道底部所在的位置,並添加組件而不是向下,這與管理器類中的所有低級代碼相反。您可以在BlackBerry API documentation上閱讀更多經理信息。
雖然通過調整添加字段和使用字段樣式的方式,仍然可以達到與此類似的效果。例如考慮以下代碼:
add(new LabelField("field 1"));
add(new LabelField("field 2"));
這會給我們結果;
field 1 field 2
因爲字段1被吸入然後字段2在其下方。然而,如果我們總是在我們的經理開始時插入字段,例如位置0像這樣:
insert(new LabelField("field 1", FIELD_BOTTOM), 0);
insert(new LabelField("field 2", FIELD_BOTTOM), 0);
我們會得到結果;
field 2 field 1
這是你在你的問題中描述的畫面所期望的結果。
雖然我不確定如何將字段繪製到屏幕底部,但您可以嘗試研究「位置相對底部」樣式,但我確實不確定。
您可能正在使用一個VerticalFieldManager
,並在該文件說:
垂直場經理勾畫出頂部 領域底部在一個 列。
所以,如果你
manager.add(field1);
manager.add(field2);
manager.add(field3);
屏幕上的字段的順序將是公正的。 但是你可以做這樣的事情:
Vector v = new Vector();
v.add(field1);
v.add(field2);
v.add(field3);
for(int i=v.size()-1;i>=0;i--) {
manager.add((Field)v.elementAt(i));
}
排序的。您可以使用Manager#insert(Field,int)方法,並始終在零索引處插入。如果使用VerticalFieldManager執行此操作,它將模擬從管理器向下自動添加字段。
到目前爲止一些答案是使用Manager.insert(Field,int),並繼續插入位置0.這將工作,但插入的運行時間是線性的,已添加到管理者。這意味着該解決方案將具有整體二次運行時間。如果您在10個字段之內添加,則不算什麼大問題,但如果您計劃添加更多,插入開銷將會很大。
如果您可以從上到下進行插入,通過按照Muger的解決方案建議的方式重新排序字段,運行時間將大大提高。
最後,您可以編寫自己的BottomUpVerticalFieldManager,以您想要的方式進行佈局。當你寫自己的經理時,你可以以任何方式佈置字段。在這種情況下,它將是自下而上的。編寫自己的經理似乎令人望而生畏,但在試圖解決佈局問題時,它會給你相當大的自由。
- 1. 把段落的行從下往上而不是從上往下的技巧
- 2. 使WrapPanel從下往上添加項目
- 3. 自頂向下方法vs自下而上方法?
- 4. ACL組結構:自上而下還是自下而上?
- 5. 在Angular 2中需要組件,自上而下還是自下而上?
- 6. CSS動畫向下而不是向上
- 7. 自頂向下解析是什麼?
- 8. 自頂向下coldfusion webservice
- 9. BDD自頂向下方法
- 10. 自上而下或buttom向上?
- 11. 如何從底部向上堆疊組件,而不是在定義的網格容器中自頂向下堆疊組件?
- 12. 是否可以從下往上遍歷文件? [C]
- 13. 矩陣流:向右而不是向下?
- 14. Gio中的GUI組件而不是Gtk中的GUI組件?
- 15. JQuery的scrollTop的是向上滾動,而不是向下
- 16. 從下往上排列多行文本
- 17. 從上往下移動背景圖像
- 18. 從下往上擴展列表
- 19. 文字顯示從下往上qt
- 20. 從下往上增長/顯示圖像
- 21. 如何從下往上反彈網頁
- 22. 向上方向縮放div,而不是向下?
- 23. 我如何讓我的內容繼續向右而不是往下走
- 24. htaccess下載文件,而不是加載
- 25. Matplotlib圖例,在列上添加項目而不是按下來
- 26. Recyclerview - 重疊項下往上
- 27. 自上而下PageViewController
- 28. 格動畫從底部到頂部,而不是從上到下的jQuery
- 29. 採用自下而上或自上而下搜索從分層數據
- 30. 如何使git-log向上而不是向下滾動