我想为 j2me 编写一个布局管理器。我已经有了小部件和面板(在这种情况下,面板是一组小部件)。现在我想添加动态布局管理,所以当我在最外面的面板上调用 doLayout 时,内部小部件和面板会根据设备的宽度和高度重新排列。
我想知道布局管理器是否有任何众所周知的模式。
我想为 j2me 编写一个布局管理器。我已经有了小部件和面板(在这种情况下,面板是一组小部件)。现在我想添加动态布局管理,所以当我在最外面的面板上调用 doLayout 时,内部小部件和面板会根据设备的宽度和高度重新排列。
我想知道布局管理器是否有任何众所周知的模式。
每个 UI 对象都应该返回一个“最小尺寸 (w,h)”。然后,您需要一种算法来遍历所有对象并将可用区域分成块并将每个块分配给一个对象。您可以根据对象相关性对其进行树分区。
我知道的常用方法是将每个 Displayable 保留在 Stack 集合中,这样当前面板/屏幕应该始终位于 Stack 的顶部。当用户按下“后退”按钮时,您只需在堆栈顶部弹出前一个屏幕/面板。
示例可以在这里找到
根据我的经验,我的布局管理器已经发展到适合平台(X11、VT100、Windows)及其特性。但是我发现了共同的特征。这是一个很好的阅读/起点,它将设计模式融入我们的 GUI 挑战。
参考:使用设计模式的布局管理器