Выравнивание стека при использовании обуви
Я использую обувь в качестве инструментария GUI для Ruby.
Мой вопрос: как выровнять весь стек? Мне удалось выровнять para по центру, но:align не работает в стеке... Любые идеи, пожалуйста
1 ответ
Я не думаю, что есть прямой путь, но вы можете сделать что-то подобное (на самом деле это делает горизонтальное и вертикальное центрирование):
Shoes.app do
@s=stack :width=>300, :height=>100, do
background red
end
@top=(@s.parent.height-@s.style[:height])/2
@left=(@s.parent.width-@s.style[:width])/2
@s.move(@left,@top)
end
Вы можете, вероятно, обернуть его в функцию для более удобного использования.
def center(elem)
top=(elem.parent.height-elem.style[:height])/2
left=(elem.parent.width-elem.style[:width])/2
elem.move(left,top)
end
и затем используйте это так:
...
@s=stack :width=>300, :height=>100, do
background red
end
center(@s)
...
.. или вы можете расширить класс Stack следующим образом:
class Shoes::Types::Stack
def center
top=(self.parent.height-self.style[:height])/2
left=(self.parent.width-self.style[:width])/2
self.move(left,top)
end
end
и чем использовать это так:
@s=stack :width=>300, :height=>100, do
background red
end
@s.center
К