2009-11-14 66 views
2

我的鞋子應用程序有三個項目堆放在彼此的頂部(用棧,當然),自動高度依次是:編輯框中

  • 橫幅
  • 一個編輯框
  • 兩流中的按鈕

我想要做的是將橫幅留在它的默認大小(48px)和按鈕以及(我認爲這可能是平臺特定的?)並使編輯框佔用屏幕上剩餘的區域,並自動resiz電子窗口?這可能嗎?

如果沒有,如果按鈕被移到編輯框上方,是否可能? (所以編輯框會填充到窗口的底部)

回答

3

我不能完全相信這一點,因爲它受此email thread和該線程中鏈接的代碼的啓發,但下面的工作;雖然是粗略的(它每秒調整窗口以調整大小)。

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 => @[email protected]@footer.height) 
      @footer.style(:top => @windowheight-25) 
     end 
    end 
end 

據我知道,如果你移動的編輯框上方的按鈕,你仍然必須做同樣的事,纔能有它動態調整。有一個新的鞋子郵件列表,你可以問,雖然:[email protected]

+0

謝謝你的答案!它正在工作,但它似乎只更新一次,然後不再。在錯誤控制檯中沒有錯誤 – 2009-11-18 22:54:16

+0

我已經在Windows XP上測試了兩種鞋子葡萄乾(r1134)和最近的警察版本。在那裏工作。你在哪個平臺上?什麼樣的鞋子? – atomicules 2009-11-19 08:18:56

+0

我在Mac OS X上,我從[Github](http://github.com/shoes/shoes/downloads)獲得了標有「Shoes 2(Raisins) - 最新的OS X build從Shoooes.net下載」的版本。 – 2009-11-21 00:56:13