我的鞋子应用程序有三个相互堆叠的项目(当然还有一个堆栈),按顺序:
- 横幅
- 一个编辑框
- 流中的两个按钮
我想要做的是让横幅保持默认大小(48px)和按钮(我认为这可能是特定于平台的?)并让编辑框占据屏幕上的剩余区域,并自动调整大小窗户?这可能吗?
如果没有,是否可以将按钮移到编辑框上方?(所以编辑框将填充到窗口的底部)
我的鞋子应用程序有三个相互堆叠的项目(当然还有一个堆栈),按顺序:
我想要做的是让横幅保持默认大小(48px)和按钮(我认为这可能是特定于平台的?)并让编辑框占据屏幕上的剩余区域,并自动调整大小窗户?这可能吗?
如果没有,是否可以将按钮移到编辑框上方?(所以编辑框将填充到窗口的底部)
我不能完全相信这一点,因为它受到这个电子邮件线程和该线程中链接的代码的启发,但下面的工作;虽然很粗糙(它每秒轮询一次窗口以调整大小)。
Shoes.app do
@header = stack :height => 48 do
background red
end
stack do
@edit = edit_box
end
@footer = flow do
style(:attach => Window, :top => app.height-100, :height => 25)
button "Button 1"
button "Button 2"
end
@height = 0
every(1) do
@windowheight = slot.height
# Note app.height works on Linux and Windows, but not on OSX
# See http://article.gmane.org/gmane.comp.lib.shoes/3493/match=app+height
# So use slot.height instead.
unless @windowheight == @height
@edit.style(:height => @windowheight-@header.height-@footer.height)
@footer.style(:top => @windowheight-25)
end
end
end
据我所知,如果你移动了编辑框上方的按钮,你仍然需要做同样的事情才能让它动态调整大小。不过,您可以询问有关鞋子的新邮件列表:shoes@librelist.com