Кожен колір і кожен розмір живуть під типом GoHud у темі й адресуються на ім'я.
Правило таке: чисел не писати — імена йдуть услід, коли тему змінюють.
GoUi.color(GoTheme.ACCENT) # колір
GoUi.metric(GoTheme.GAP) # розмір (dp)
GoUi.font_size(GoTheme.ROLE_CAPTION) # розмір для текстової ролі
GoUi.box(GoTheme.BOX_CARD) # копія StyleBox
Кольори
| Ім'я | Для чого |
|---|---|
background | Підлога екрана |
surface · surface_soft · surface_high | Три шари панелей — панель, картка, піднята комірка |
border | Рамки карток і кнопок |
text · secondary · muted | Три рівні тексту — основний, допоміжний, приглушений |
accent · on_accent | Акцент і текст, покладений на нього |
success · warning · danger · info | Кольори статусів як текст |
*_fill | Ті самі статуси як заливка — смуги та інші великі площини |
scrim · shadow · track | Завіса за спливними вікнами, тіні, жолоб смуги |
*_fill. Той самий зміст, протилежні вимоги. warning
як текст мусить бути досить темним, щоб читатися на світлому тлі; як заливка смуги досвіду він мусить
бути досить яскравим, щоб його помітили. Один токен не може бути обома — смуга у світлій темі ставала
брунатною. Тема без варіанта _fill автоматично повертається до базового імені, тож теми,
старші за ці токени, працюють далі.
Розміри (dp)
touch button_height gap_tiny gap_small
gap gap_large padding padding_compact
compact_padding_x compact_padding_y
radius_small radius radius_large screen_margin
scroll_deadzone scroll_edge scrollbar_width
list_glyph icon_size notice_duration_ms
Непрозорість панелі (%)
panel_alpha card_alpha hud_alpha notice_alpha
popup_alpha — наскільки щільний лицьовий бік контейнера. Типово 80, тож гра лишається
видимою за діалогом; у popup_alpha — 100. Тема без цих токенів повертається до 100
і малюється рівно так, як і раніше. Обчислене значення читають як частку через
GoUi.surface_alpha(variant); правила — у розділі
Непрозорість — гра за панеллю.
Текстові ролі
micro · compact · caption · body ·
button · subtitle · title — роль називає розмір, а не
призначення. «Найбільший текст», а не «заголовок». Так шкала тримається навіть тоді, коли якийсь екран
використовує її для чогось іншого.
Варіації типів
GoPanel GoCard GoButton GoPrimaryButton
GoDangerButton GoDangerSolidButton GoPrimaryGlowButton
GoDangerSolidGlowButton GoBareButton GoCompactButton
GoIconButton GoListButton GoTitleLabel GoSubtitleLabel
GoCaptionLabel GoCompactLabel GoMicroLabel