Happy to share https://github.com/zsoltk/compose-router, which supports a single-Activity, Compose-only approach to write apps. Navigation is based on routing with sealed classes. Every routing level has its own back stack, and back press can be bound to pop it. There's ambient scoped savedInstanceState associated with every back stack element, so that when you go back in history, state gets restored as well. Latest addition is deep link based routing which adds a remote control to set the app into any pre-defined combination of routing states. Personally I find Compose to be a lot of fun to work with, and would love to see it drive a whole app, not just its UI.
01/03/2020, 10:59 AM
Is it possible to animate between screen changes?
01/03/2020, 11:09 AM
I need to dive into animation with Compose before I can answer that. Hopefully yes, will see how.
I guess it can be extended easily with an optional TransitionDefinition parameter for Router, and then it would wrap the change in a Transition. This is my vague understanding at this point, haven't tried anything like this in practice yet. Also maybe TransitionDefinition could be a function of Routing0 -> Routing1 if you want to be fancy and define different transitions based on what's changing to what other thing.