
Webinár: Ako ľudia so zdravotným postihnutím používajú mobilné aplikácie a ako ich testovať

20. Sep 2021
AndroidSnackbar je súčasť používateľského rozhrania, ktorá poskytuje krátke správy v spodnej časti obrazovky. Slúži na informovanie používateľov, že aplikácia vykonala akciu alebo vykoná akciu. Naraz je možné použiť iba jeden snackbar a musí obsahovať iba jednu akciu, ktorá je voliteľná.
Tento jednoduchý komponent pozostáva zo správy (1), kontajnera (2) a voliteľného akčného tlačidla (3). Správa môže mať maximálne 2 riadky.
V Jetpack Compose je composable funkcia s názvom Snackbar. Je to len vizuálna reprezentácia snackbaru definovaného v Material design guidelines, bez možnosti zobraziť alebo skryť a bez animácií. Obvykle budete musieť použiť SnackbarHost.
Chceš používať najnovšie technológie na 🔝 projektoch? Náš Android tím hľadá parťáka!
Tento komponent je zodpovedný za zobrazovanie (alebo skrývanie snackbaru po definovanom čase) a za jeho animácie. Jednoducho povedané, SnackbarHost je wrapper Snackbaru uvedeného vyššie. Na to sú potrebné 3 parametre:
Ako naznačuje popisný názov triedy, používa sa na ovládanie stavu SnackbarHost. Ako uvádzajú Material design guidelines, súčasne by sa mal zobrazovať iba jeden snackbar, ostatné sú v poradí a neskôr ich zobrazí SnackbarHostState.
Jediným povinným parametrom SnackbarHostState je hostState, ktorý je možné získať jednoducho s konštruktorom. Potom môžete SnackbarHost jednoducho umiestniť kdekoľvek chcete. Snabar sa však stále nezobrazuje, ako to teda urobiť?
Snackbar sa zobrazuje ako reakcia na niečo, v našom prípade „niečo" je kliknutie na tlačidlo. ShowSnackbar je suspend funkcia, takže je potrebný coroutine scope. Coroutine scope programu si musíte zapamätať mimo funkcie onClick, pretože keď sa rozsah zruší, snackbar sa odstráni z frontu.
Tu je dôležité upraviť parameter SnabarbarHost. Bez našich úprav sa použije predvolený Snackbar composable. S nižšie uvedeným kódom sa použije náš dizajn snackbaru, ale predvolené správanie snackbaru sa zachová.