2

私の靴のアプリケーションには、3 つのアイテムが互いに積み重ねられています (もちろん、スタックがあります)。

  • バナー
  • 編集ボックス
  • フロー内の 2 つのボタン

私がやりたいことは、バナーをデフォルトのサイズ (48px) のままにし、ボタンも同様に (これはプラットフォーム固有のものであると思いますか?)、編集ボックスが画面上の残りの領域を占めるようにし、自動的にサイズを変更します。窓?これは可能ですか?

そうでない場合、ボタンを編集ボックスの上に移動することは可能でしょうか? (そのため、編集ボックスはウィンドウの下部までいっぱいになります)

4

1 に答える 1

3

この電子メール スレッドとそのスレッドにリンクされているコードに触発されているため、これを完全に信用することはできませんが、以下は機能します。粗雑ですが(サイズを調整するために毎秒ウィンドウをポーリングします)。

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

于 2009-11-18T16:36:48.790 に答える