色と寸法はすべて Theme の 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 | パネルの3層 — パネル、カード、浮いたセル |
border | カードとボタンの枠 |
text · secondary · muted | 文字の3段階 — 本文、補助、控えめ |
accent · on_accent | アクセント色と、その上に載せる文字の色 |
success · warning · danger · info | 状態を表す文字の色 |
*_fill | 同じ状態を塗りとして使う色 — バーなど面積の大きい場所 |
scrim · shadow · track | ポップアップ背後の幕、影、バーの溝 |
*_fill がある理由。 意味は同じでも、求められるものが正反対だからだ。warning
は文字として使うなら明るい背景で読める程度に暗くなければならず、経験値バーの塗りとして使うなら目に留まる
程度に明るくなければならない。1つのトークンで両方は満たせない — 実際にライトテーマのバーは茶色になった。
_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