Toda cor e toda medida vivem sob o tipo GoHud dentro do Theme, endereçadas pelo nome.
Não escrever números é a regra: os nomes acompanham quando o tema é trocado.
GoUi.color(GoTheme.ACCENT) # cor
GoUi.metric(GoTheme.GAP) # medida (dp)
GoUi.font_size(GoTheme.ROLE_CAPTION) # tamanho de um papel de texto
GoUi.box(GoTheme.BOX_CARD) # uma cópia de um StyleBox
Cores
| Nome | Serve para |
|---|---|
background | O chão da tela |
surface · surface_soft · surface_high | Três camadas de painel — painel, cartão, célula elevada |
border | Bordas de cartões e botões |
text · secondary · muted | Três níveis de texto — corrido, de apoio, esmaecido |
accent · on_accent | O destaque e o texto colocado sobre ele |
success · warning · danger · info | Cores de texto de estado |
*_fill | Os mesmos estados como preenchimento — barras e outras áreas grandes |
scrim · shadow · track | O véu atrás dos popups, as sombras, o trilho da barra |
*_fill existe. O mesmo significado, exigências opostas. O warning
usado como texto precisa ser escuro o bastante para ser lido sobre um fundo claro; usado como preenchimento de
uma barra de experiência, precisa ser claro o bastante para chamar atenção. Um token não consegue ser as duas
coisas — a barra do tema claro ficou marrom.
Um tema sem a variante _fill volta automaticamente ao nome base, então os temas
anteriores a esses tokens continuam funcionando.
Medidas (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
Opacidade do painel (%)
panel_alpha card_alpha hud_alpha notice_alpha
popup_alpha — quão sólida é a face de um contêiner. 80 por padrão, para que o jogo
continue visível atrás de um diálogo; popup_alpha é 100. Um tema sem esses tokens volta a 100
e desenha exatamente como antes. Leia o valor resolvido como razão com
GoUi.surface_alpha(variant); a seção
Opacidade — o jogo atrás do painel tem as regras.
Papéis de texto
micro · compact · caption · body ·
button · subtitle · title — um papel nomeia um tamanho, não uma
finalidade. "O maior texto", não "o título". Assim a escala se mantém mesmo quando uma tela o usa
para outra coisa.
Variações de tipo
GoPanel GoCard GoButton GoPrimaryButton
GoDangerButton GoDangerSolidButton GoBareButton GoCompactButton
GoIconButton GoListButton GoTitleLabel GoSubtitleLabel
GoCaptionLabel GoCompactLabel GoMicroLabel