Викличте Button.new() напряму — і поля, висота та перенесення трохи розповзуться від екрана
до екрана. Це розповзання невидиме на рев'ю коду й очевидне на знімку.
| Група | Функції |
|---|---|
| Структура | column row wrap_row padding spacer divider responsive_grid aspect foldable |
| Текст | label label_key line section typography |
| Кнопки | button button_key icon_button list_button list_row apply_icon style_choice_card style_chip_button style_chip_label |
| Ввід | line_edit textarea toggle checkbox slider picker select dropdown radio_group segmented choice_grid |
| Показ | card chip hud_panel chip_panel avatar skeleton alert table tabs breadcrumb progress empty_state |
| Частини поверхонь | surface box floating disc face_padding |
| Помічники | form fit_words natural_width tooltip_node card_body let_input_through |
box() завжди повертає StyleBoxFlat, бо той, хто викликає, отримує його
й правит bg_color чи corner_radius. Коли власна форма мусить вціліти,
беріть surface().
Рядки списку з описом
GoStyle.list_button(GoIconSet.SWORD, "Вартовий клятви", _inspect, Color.TRANSPARENT,
"Довгий меч / Атака 42", false)
Рядок із другим рядком тексту дістає однакові верхнє й нижнє поля, просторіші за однорядковий, а пара «назва / опис» лишається вирівняною по вертикалі поряд з іконкою — навіть тоді, коли контейнер розтягує рядок вище, і після того, як опис перенісся на кілька рядків. Увесь рядок лишається однією ціллю дотику.
medieval_light.Рядки з перенесенням
Кладіть контроли в wrap_row за їхньою природною шириною. Якщо лишити перенесення
увімкненим, мінімальна ширина кнопки падає майже до нуля, і рядок міряє за нею свою комірку — напис
стискається до одного символу на рядок. Фабрика робить це замість вас.
Ніколи не лишайте порожній список порожнім
page.add_child(GoStyle.empty_state(GoIconSet.BOX, "Тут поки що порожньо"))
Порожній екран люди читають як зламаний.
Гуки для підкласів
Кожне місце, де конструюється дочірній віджет, проходить через метод, який можна перевизначити, тож проєкт, що успадковує типи gohud, може отримати власні підкласи всередині віджетів, не копіюючи коду.
| Гук | Віджет | Типово |
|---|---|---|
_make_scroll() | GoCoachMark, GoSurface | GoScroll.new() |
_make_close_button() | GoPromptCard, GoSurface | GoIconButton.new() |
_make_surface() | GoSheet, GoDialogs | GoSurface.new() |
_should_pause() | GoCoachMark | Ховає картку, поки відкрите модальне вікно |