【发布时间】:2022-01-19 12:50:24
【问题描述】:
我有按钮。那应该调整大小并随窗口移动。我的问题是,由于按钮具有不同的位置,因此通过窗口细节一一调整它们的大小非常难看,所以我想将一个函数传递给我的 Buttons,该函数计算窗口大小调整时它们的放置位置。
我希望这个函数是唯一的,所以当我初始化一个按钮时,我给它一个 lambda 表达式(它使用窗口的细节),每次调用按钮的 updateSize 方法时,它都会使用这个 lambda 表达式来设置它的位置和大小。
示例代码:
//To make it easier let's say window is a global variable
MyButton( {return Rectange(window.x, window.y, window.w, window.h) },"ButtonName")
class MyButton(updateSize(x,y,w,h) -> Rectangle,name: String ) {
var rect: Rectangle = updateSize
fun updateSize() {
rect = updateSize
}
}
显然这段代码不起作用。
【问题讨论】:
-
这是什么 UI 框架?您通常会使用像布局管理器这样的 IME,它会为您处理所有这些。