Just create a horizontal stepper and for a step use content as a stateful widget(Say Step1) with AutomaticKeepAliveClientMixin. Still when switching between steps, Step1 is