Разметка интерфейсов в Kool 📐 | День 98
Думаю все уже знают, что в HollowEngine используется движок Kool для интерфейсов. Смысл в том, что большая часть его интерфейсов - имеют динамические размеры, в то время как ванила рассчитывает всё по пикселям и даже для простого выравнивания текста по центру вам нужно вручную высчитывать размеры окна и центр текста, после чего его вручную выравнивать. Не говоря уже о том, когда у вас 20 кнопок, каждой придётся указать координаты и размеры.
В Kool же всё проще, есть дерево виджетов, где каждый имеет свои свойства и можно настроить логику распределения виджетов, внутри, например:
- Cell Layout: Виджеты располагаются вместе, перекрывая друг друга (полезно, когда нужно расположить модальное окно или оверлей)
- Column Layout: Виджеты располагаются последовательно, сверху вниз (например, как кнопки на левой панели в ролике)
- Row Layout: Аналогично прошлому, но по горизонтали.
Этого уже достаточно для большинства задач, но я всё чаще начал сталкиваться, что иногда мне нужно чтобы виджеты сами распределялись последовательно по горизонтали и сверху вниз. Поэтому я сегодня написал вот такой Flow Layout, который сам распределяет виджеты вне зависимости от размера и формы 🤯
И всё это чисто, чтобы форматированный текст с ссылками и картинками внутри умещался под любой размер окна
Короче, Absolute Layout 🤚🫠🤚
Post #205
655
- ❤ 3