Quando l'utente tocca l'immagine di un prodotto in una lista e si apre la schermata di dettaglio, un'app curata non "salta" bruscamente da una pagina all'altra: l'immagine vola dalla posizione iniziale a quella finale, guidando l'occhio e rendendo la navigazione naturale.
In Flutter questo effetto si ottiene con il widget Hero, ed è sorprendentemente semplice: non serve un AnimationController, non servono Tween. Basta avvolgere lo stesso elemento nelle due schermate con un Hero che condivide lo stesso tag, e il framework si occupa di calcolare posizione, dimensione e interpolazione durante la transizione del Navigator.
In questo tutorial costruiremo una piccola app con una lista di piatti: toccando una card si aprirà il dettaglio con un'animazione condivisa su immagine e titolo. Vedremo anche gli errori più comuni (tag duplicati, immagini che "sfarfallano") e come personalizzare la durata della transizione.
Prerequisiti: conoscere le basi di
Navigator.push,ListVieweStatelessWidget.