0

我无法在红宝石鞋的 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
4

1 回答 1

2

我没有找到直接的方法,但你可以使用这个 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

所做的实际上是首先扩展插槽的功能,以便您可以将它们放置在包含插槽的中心或中间。然后你将你的列表框包裹在一个小槽中,你将其居中。

于 2012-11-02T02:05:27.547 回答