GoSnackbar — повідомлення, яке саме себе розміщує
Сидить унизу (або вгорі), над безпечною зоною та клавіатурою, і йде собі сам. Без нього ви пишете шар, розміщення, таймер і прибирання на кожному екрані, який має сказати «збережено».
snack.show_text("Збережено", GoTheme.SUCCESS)
# Нагода скасувати — 0 це перша кнопка, -1 означає, що час вийшов
if await snack.post({"text": "Річ викинуто", "actions": ["Скасувати"]}) == 0:
restore_item()
Повідомлення стають у чергу, а не затирають одне одного, і повтори того самого рядка зливаються — сервер, що падає чотири рази на секунду, більше не складає чотирьох хвилин сповіщень. Снекбар без кнопки пропускає ввід, тож гра під ним іде далі.
GoDialogs. Кнопки тут мають бути необов'язкові — «Скасувати»,
«Докладніше», «Повторити».
GoNotice — друга половина пари: він ніколи не бере ні вводу, ні фокуса, а куди він потрапить,
вирішує екран-власник. Він не може тримати кнопку; цей може.
GoSpinner — очікування, кінця якому не видно
Іграм, що розмовляють із сервером, це потрібне більше за все інше на цій сторінці: нерухомий екран читається як збій. Один виклик перетворює натиснуту кнопку на спінер на її ж місці.
GoSpinner.busy(buy_button, true)
var ok := await server.purchase(item)
GoSpinner.busy(buy_button, false)
Кнопка зберігає свій розмір — напис стає прозорим, а не зникає, тож ряд не стрибає, — і вона вимкнена,
поки крутиться. Саме друге тут головне: покупка не повинна спрацювати двічі, поки ви робите
await. З увімкненим reduce_motion він не крутиться; натомість пульсують три крапки.
Поступ, який можна виміряти, — це GoBar. Спінер нічого не обіцяє про те, коли скінчиться.
GoBadge — крапка непрочитаного, позначка «НОВЕ», оте 99+
GoBadge.attach(mail_button, unread_count) # на нулі ховається сам
GoBadge.attach(shop_button, 0, "НОВЕ")
GoBadge.attach(friend_button, 3, "", true) # крапка — «щось там є»
Він чіпляється якорями до верхнього правого кута господаря, тож іде за ним навіть тоді, коли розмір господаря визначиться пізніше, а повторне чіпляння повертає той самий бейдж. Беріть число, коли кількість змінює те, що робитиме гравець, і крапку, коли важить лише «щось там є».
Колір його тексту добирається за контрастом до того кольору, яким пофарбував бейдж скін, — білий ніколи не береться на віру, — і він несе доступну назву, бо кольорова крапка нічого не каже екранному читачеві.