gohud

GoStyle — одне місце, де все виготовляється

← Віджети

Викличте 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 — дворядкові рядки списку, швидкі слоти та смуги
Дворядкові рядки, слоти та смуги в середньовічному прикладі — ті самі виклики фабрики під medieval_light.

Рядки з перенесенням

Кладіть контроли в wrap_row за їхньою природною шириною. Якщо лишити перенесення увімкненим, мінімальна ширина кнопки падає майже до нуля, і рядок міряє за нею свою комірку — напис стискається до одного символу на рядок. Фабрика робить це замість вас.

Ніколи не лишайте порожній список порожнім

page.add_child(GoStyle.empty_state(GoIconSet.BOX, "Тут поки що порожньо"))

Порожній екран люди читають як зламаний.

Гуки для підкласів

Кожне місце, де конструюється дочірній віджет, проходить через метод, який можна перевизначити, тож проєкт, що успадковує типи gohud, може отримати власні підкласи всередині віджетів, не копіюючи коду.

ГукВіджетТипово
_make_scroll()GoCoachMark, GoSurfaceGoScroll.new()
_make_close_button()GoPromptCard, GoSurfaceGoIconButton.new()
_make_surface()GoSheet, GoDialogsGoSurface.new()
_should_pause()GoCoachMarkХоває картку, поки відкрите модальне вікно