我无法在红宝石鞋的 list_box 中间对齐。我已经测试了一些东西,包括 :right => "50" 或 :left => "50",但它仍然无法正常工作。
Shoes.app do
stack :width => "100%", :height => "45%" do
a = list_box :items => ["lol","b"], :width => 50, :align => "center"
end
end
我没有找到直接的方法,但你可以使用这个 hack
module Shoes::Types
def centr
left=(self.parent.width-self.style[:width])/2
self.move(left,self.top)
end
def middle
top=(self.parent.height-self.style[:height])/2
self.move(self.left,top)
end
end
Shoes.app do
@c=stack :width=>50, :height=>30 do
a=list_box :items => ["lol","b"], :width => 50, :height=>30
end
@c.centr.middle
end
所做的实际上是首先扩展插槽的功能,以便您可以将它们放置在包含插槽的中心或中间。然后你将你的列表框包裹在一个小槽中,你将其居中。