Кожен колір і кожен розмір живуть під типом 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 GoBareButton GoCompactButton
GoIconButton GoListButton GoTitleLabel GoSubtitleLabel
GoCaptionLabel GoCompactLabel GoMicroLabel